主题:第64次编程比赛 相關事務帖 結果及說明
為了使論壇特色欄目繼續,除夕之前開放一次。
本人有幸獲得一次出題機會,希望大家支持。
[color=FF00FF]第64次编程比赛[/color]
[url]http://www.programfan.com/club/post-266850.html[/url]
相關事項都來這裡說說吧,大家隨便坐。所謂有錢的捧錢場,沒錢的捧人場。各位朋友如果這兩天有空的話,請不吝墨寶,到比賽場上投上一稿;沒有時間也不要緊,在這裡吼兩句給大家鼓勁~
我爭取在除夕之前,結束測試公佈結果
-------------------------------
本次比賽結果
4人參賽
主題:
1人提交,0人通過
副题:
4人提交,只有ID43失敗
這樣的結果,我覺得作為一次比賽來說: 冠軍空缺!
下一次比賽請版主定奪~
非常遺憾,也許是因為高手覺得太簡單,新人覺得怕麻煩,參與度不高。
第一題不需要複雜的算法和高超的技巧,僅僅是考驗細緻的基本功。有很多瑣碎的細節很容易造成程序疏漏。
以 plane 提交的代碼為例:
題目指出:"原始信息拆解后混入一些杂乱信息流再发送" 因此可能包含各種符號
代碼中沒有對應的處理就會導致死循環
可打印字符 有標準函數 int isprint( int c )
ASCII 値 127 DEL鍵 是打不出來的
32以下的 控制符也打不出來 例如:NUL BEL ESC 等等
把字符放入text數組,在不同的條件下邏輯前後不一致,而產生錯誤
另外,處理規則2的代碼沒有實現等等都是審題不仔細的原因~
本題參考調用方式如下: 測試數據 已附上[code]
int main()
{
char SOH[1025], text[512];
int c, size;
FILE *fp = fopen("in.dat", "rb");
assert(fp);
size= fread(SOH, 1, 1024, fp);
SOH[size] = '\0';
c= decollator(SOH, text);
assert(c>=0 && c<512);
text[c] = '\0';
printf("%d\n%s\n", c, text);
return 0;
}
[/code]
第二題是普通最短路徑算法,原理是這樣
1←0
↓ ↓
2←1
從(0,0)到(0,1)一種走法;
從(0,0)到(1,0)一種走法;
到達(1,1)可以有兩種走法,即:從(0,0)到(1,1)的路線總數 為到(0,1)的路線數 加上 到(1,0)的路線數;
推廣:到任何一點的路線總數 = 它東面一點的路線數 + 它北面一點的路線數;
即:楊輝三角形
本題得解C(x+4)取4 = 70
ID43 提交的代碼中 i++ 多出了一次 導致死循環
[/size]

您所在位置:
