第三周算法周报
P2181 對角線
題目描述
對于一個 n 個頂點的凸多邊形,它的任何三條對角線都不會交于一點。請求出圖形中對角線交點的個數。
例如,6 邊形:
這里可以注意到并沒有出現多條對角線交叉在一個點的情況。
思路:1.先選擇一條對角線,將多邊形分為兩個部分,一邊是一個點的,另一邊是剩下的點,兩邊的點相連形成的對角線與所選擇的對角線相交形成交點。
2.以此類推,現分為一邊是1個點的,然后這一邊的點逐漸增加,直到另外一邊也只剩下一個點為止。需要特別注意的是,這樣的每一組對角線都有n條,這樣重復計算了比如點c到點b和點b到點c,其實是同一條。再根據題意,每個交點是由兩個對角線形成的,而我們在計算點的時候用每條對角線都計算了一次,所以又重復計算了一遍。也就是說,這樣我們得到的ans是最終正確ans的4倍。
特別注意,我將乘n的操作挪到了外面,把除以4的操作提前了,避免在運算的過程中出現數據上溢的情況。
P1085 [NOIP2004 普及組] 不高興的津津
題目描述
津津上初中了。媽媽認為津津應該更加用功學習,所以津津除了上學之外,還要參加媽媽為她報名的各科復習班。另外每周媽媽還會送她去學習朗誦、舞蹈和鋼琴。但是津津如果一天上課超過八個小時就會不高興,而且上得越久就會越不高興。假設津津不會因為其它事不高興,并且她的不高興不會持續(xù)到第二天。請你幫忙檢查一下津津下周的日程安排,看看下周她會不會不高興;如果會的話,哪天最不高興。
輸入格式
輸入包括77行數據,分別表示周一到周日的日程安排。每行包括兩個小于1010的非負整數,用空格隔開,分別表示津津在學校上課的時間和媽媽安排她上課的時間。
輸出格式
一個數字。如果不會不高興則輸出00,如果會則輸出最不高興的是周幾(用1, 2, 3, 4, 5, 6, 71,2,3,4,5,6,7分別表示周一,周二,周三,周四,周五,周六,周日)。如果有兩天或兩天以上不高興的程度相當,則輸出時間最靠前的一天。
輸入輸出樣例
輸入
5 3
6 2
7 2
5 3
5 4
0 4
0 6
輸出
3
說明/提示 noip2004普及組第1題
P1888 三角函數
題目描述
輸入一組勾股數 a,b,c用分數格式輸出其較小銳角的正弦值。(要求約分。)
輸入格式
一行,包含三個正整數,即勾股數 a,b,c(無大小順序)。
輸出格式
一行,包含一個分數,即較小銳角的正弦值
輸入輸出樣例
輸入
3 5 4
輸出
3/5
說明/提示
數據保證:a,b,ca,b,c 為正整數且 ∈[1,10 9 ]。
注意:這題最重要的是約分
總結
- 上一篇: Python学生信息管理系统(增删查改、
- 下一篇: ajax异步上传图片文件并将其转换为ba