#4580: 求救,未完成所有的輸出


Piova (Piova)

學校 : 國立屏東大學
編號 : 11955
來源 : [114.36.4.10]
最後登入時間 :
2011-06-28 18:53:21
d518. 文字抄寫 II | From: [163.24.253.86] | 發表日期 : 2010-11-21 21:49

您的程式未完成所有的輸出!!(line:524)
您只輸出了 523 行!
可能的原因為
* 未用 while 迴圈讀取全部的測試資料,以致輸出短少,請參考 a001 範例程式。
* 程式未充分考慮所有邊界值而導致程式提前中止
 
我的方法是實作26元樹出來,程式碼也沒有什麼邊界的問題,但...就是停了。 
 
#include <iostream>

using namespace std;

struct tree {
    int num, round;
    struct tree *next[26];
};

typedef struct tree t;

int main()
{
    int n, i, j, k, x, num, round = 0;
    char ch[21];
    t node, *p;
    for(i=0; i<26; i++) node.next[i] = NULL;
    
    while(cin>>n) {
        round++;
        num = 1;
        
        for(i=0; i<n; i++) {
            cin>>ch;
            p = &node;
            for(j=0; ch[j]; j++) {
                x = ch[j]-'a';
                if(p->next[x] == NULL) {
                    p->next[x] = new t;
                    p = p->next[x];
                    p->num = p->round = 0;
                    for(k=0; k<26; k++) p->next[k] = NULL;
                }
                else    p = p->next[x];
            }
            if(p->num == 0 || p->round != round) {
                p->num = num;
                p->round = round;
                cout<<"New! "<<num++<<endl;
            }
            else    cout<<"Old! "<<p->num<<endl;
        }
    }
    
    return 0;
}
 
 
#4660: Re:求救,未完成所有的輸出


no306100 (JamesQAQ)

學校 : 國立彰化高級中學
編號 : 9600
來源 : [61.224.72.249]
最後登入時間 :
2024-03-31 19:39:39
d518. 文字抄寫 II | From: [118.233.8.61] | 發表日期 : 2010-12-15 20:49

您的程式未完成所有的輸出!!(line:524)
您只輸出了 523 行!
可能的原因為
* 未用 while 迴圈讀取全部的測試資料,以致輸出短少,請參考 a001 範例程式。
* 程式未充分考慮所有邊界值而導致程式提前中止
我的方法是實作26元樹出來,程式碼也沒有什麼邊界的問題,但...就是停了。 
#include

using namespace std;

struct tree {
    int num, round;
    struct tree *next[26];
};

typedef struct tree t;

int main()
{
    int n, i, j, k, x, num, round = 0;
    char ch[21];
    t node, *p;
    for(i=0; i<26; i++) node.next[i] = NULL;
    
    while(cin>>n) {
        round++;
        num = 1;
        
        for(i=0; i
            cin>>ch;
            p = &node;
            for(j=0; ch[j]; j++) {
                x = ch[j]-'a';
                if(p->next[x] == NULL) {
                    p->next[x] = new t;
                    p = p->next[x];
                    p->num = p->round = 0;
                    for(k=0; k<26; k++) p->next[k] = NULL;
                }
                else    p = p->next[x];
            }
            if(p->num == 0 || p->round != round) {
                p->num = num;
                p->round = round;
                cout<<"New! "<
            }
            else    cout<<"Old! "<num<
        }
    }
    
    return 0;
}


我的也是不知道為什麼就變成這樣..

與正確輸出不相符(line:524)
您的答案為: New! 1
正確答案為: New! 506

很神奇的歸零了?..

 
#4661: Re:求救,未完成所有的輸出


no306100 (JamesQAQ)

學校 : 國立彰化高級中學
編號 : 9600
來源 : [61.224.72.249]
最後登入時間 :
2024-03-31 19:39:39
d518. 文字抄寫 II | From: [118.233.8.61] | 發表日期 : 2010-12-15 20:56

我去把測資弄出來了..
雖然這樣做非常對不起出題者(對不起@@~~....
第524行的輸出正確答案是New! 506
但是我去測那一行的時候共幾行輸入和它為第幾比輸入
輸入是512行,line:524是該組資料的第一行...
我有讀取錯嗎...
可是前面都過五百多行了... 
與正確輸出不相符(line:524)
您的答案為: 512 1
正確答案為: New! 506
 
#4662: Re:求救,未完成所有的輸出


no306100 (JamesQAQ)

學校 : 國立彰化高級中學
編號 : 9600
來源 : [61.224.72.249]
最後登入時間 :
2024-03-31 19:39:39
d518. 文字抄寫 II | From: [118.233.8.61] | 發表日期 : 2010-12-15 21:05

貌似自己腦殘了XD
 
#5002: Re:求救,未完成所有的輸出


bufly (菲列斯)

學校 : 不指定學校
編號 : 3633
來源 : [114.25.72.165]
最後登入時間 :
2024-05-11 11:26:01
d518. 文字抄寫 II | From: [114.32.9.209] | 發表日期 : 2011-03-25 14:48

貌似自己腦殘了XD



小地遇到類似問題,請問您這程式的問題在?

 

另外...input裡面會有空白?!

 
ZeroJudge Forum