回 帖 发 新 帖 刷新版面

主题:第64次编程比赛 相關事務帖 結果及說明

[size=4]
為了使論壇特色欄目繼續,除夕之前開放一次。
本人有幸獲得一次出題機會,希望大家支持。
[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]



回复列表 (共29个回复)

沙发

支持!
没想到我是第一个吧:)

板凳

好久没参加了.
先顶了

3 楼


新手上路 也来顶一个~

4 楼

今天才主车的,先来顶一下,老手们要教教我呀~~~~

5 楼

请问第一题,RPT后面跟的自然数是字符窜形式,还是就是一个char字节
即{...'R','P','T','5','6'...} or {.....'R','P','T',56,.....}

谢谢

6 楼

[size=4]Re: #5
這裡自然数和其他部分一樣是字符形式[/size]

7 楼

16bit.............

8 楼

那么"....RPT111",怎么解释呢

9 楼

这次的题目好像比较水。。。
理由是居然连我都会做了。。。

10 楼

可打印字符哪些?

我来回复

您尚未登录,请登录后再回复。点此登录或注册