1. 在做百練2807題:兩倍時,錯將判斷語句寫成 a/b ==2,正確寫法是:a == b*2
因為c/c++int型做除法時自動捨入,如:5/2 == 2,但是 5 =/= 2*2。
2. 在做百練2715題:誰拿了最多獎學金時,一直wrong answer,最後才發現真的是自己算錯了,在判斷語句中》85寫成了》80
3. 在做百練2713: 腫瘤面積時,一開始提交顯示 runtime error,一看是陣列開小了,可能的資料是n不大於1000,我定義的時候是105;修改陣列大小後再次提交顯示wrong answer。
4. 百練2798:2進製轉化為16進製制沒做出來。
5. 百練2818:密碼,
1)wrong answer:結果錯誤
2)time limit exceeded:暴力求解,超時
3)presentation error:每乙個塊結束都要輸出換行符'\n'
4)runtime error:陣列越界,陣列開的太小
6. 百練2972:確定進製,注意k進製數n的每一位都比k小。
7. c++呼叫iostream中的ios::sync_with_stdio(false)以提高i/o效率
8. 百練2974:487-3279,runtime error,陣列開小了
9. 百練2798:2進製轉化為16進製制:
int num = len % 4當num=0時,按照邏輯,後面的**不應該輸出,因此出錯,解決方法是判斷num不為0即可,或num為整數。;int
base=1
;for(int i=num-1;i>=0;i--)
printf("%x
",ch);
10. 百練題目2705:用算術式子再做一次。
11. 百練2707:別人的**:
#include #include對於以下問題:intmain()
pd=b*b-4*a*c;
part1 = (0 - b)/ (2 *a);
if(pd>0
)else
if(fabs(pd)<1e-8
)else
}return0;
}
實測情況為:
-b/(2*a)即可;
b=0時,若將結果分成real和img,則不存在上述問題;
-0.00000似乎不影響結果正確性。
總上所述,關鍵是用double型別取代float型別和對delta判等用乙個極小值例如1e-8。
12. 百練2724:可以用c++實現,**量更少。
13.百練2856:輸出用
printf("14. 百練2683:該數列一開始看成是fibonacci數列中的後一項/前一項,所以實現時用fibonacci數列進行模擬,發現對於次數99來說,無論是int型還是long型,都有資料溢位。看兩年前的提交記錄,才發現,該數列滿足:a[n] = 1/a[n-1] + 1,於是用此思路迎刃而解。還是感嘆人在不同時候的思路是很不同的。此題給人的警示是:當迴圈有資料溢位時,可以考慮發現數列的通項公式。%g\n
",0.8+0.5*fmax(w-1,0.0)+(exp=='
y'?2:0));
15. 百練2697:題目出錯了,x = (x1+x2)/2,而不是x = (x2-x1)/2;是f(0)>0而不是f(a)>0。真想罵人,出題能不能走點心。
16. 百練2868:題目出錯了,輸入不是乙個數,而是若干輸入,需要用 while(eof!=scanf("
%lf",&num)) ,不然會報 wrong answer ,真心覺得出題人謹慎點行不行,poj本來就不給出錯案例,要想accepted,就必須考慮所有邊界條件,就必須嚴格按照題目要求進行輸入輸出,這下好了,輸入條件都不明確,還怎麼做題!
17. 百練2682:迴圈移動這道題很經典,可以用三次reverse操作來實現。
18. 百練2938:交換兩個整數可以用:
a = a^b;來實現。b = a^b;
a = a^b;
19. switch後面只能跟整型變數和字元型變數,不能接字串。
20. a%b時,b一定非0.
21. 輸出浮點數時,若對精度無要求,建議使用"%g"修飾符。
ACM 藍橋杯練習題
小a的學校有一些小河和一些湖泊,現在把它們統一看成水池,小a手裡有一張學校某處的地圖,這個地圖上僅標識了此處是否是水池,小a想知道這塊地方有多少個水池,現在,任務交給你了,請編寫程式算出該地圖中有幾個水池 第一行輸入乙個整數n,表示共有n組測試資料 每一組資料都是先輸入該地圖的行數m 輸出該地圖中水...
設計模式練習(16) 備忘錄模式
一 題目 某軟體公司正在開發一款網遊,為了給玩家提供更多方便,在遊戲過程中可以設定乙個恢復點,用於儲存當前的遊戲場景,如果在後續遊戲過程中,玩家角色 不幸犧牲 玩家可以返回到先前儲存的場景,從恢復點開始重新遊戲,試用備忘錄模式實現。1 繪製備忘錄模式結構檢視 2 給出例項類圖並實現 二 所用模式結構...
2005ACM練習題第幾天
problem description 給定乙個日期,輸出這個日期是該年的第幾天。input 輸入資料有多組,每組佔一行,資料格式為yyyy mm dd組成,具體參見sample input 另外,可以向你確保所有的輸入資料是合法的。output 對於每組輸入資料,輸出一行,表示該日期是該年的第幾天...