看板 C_and_CPP 關於我們 聯絡資訊
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 題號:112 遇到的問題: 我自己不管是用VC2008 或是linux 怎麼跑都覺得是對的 但是上傳都是WA ◢▆▅▄▃崩╰(〒皿〒)╯潰▃▄▅▇◣ 已經爬過文了 但我還是不知道我錯在哪裡 所以想問問其他高手們 我所用的方法 大概就是一直去讀input 一邊讀tree 一邊判斷現在走到哪裡 目前的總和是多少 如果讀到leaf 就判斷現在的總和和key是否相同 有問題的code: (請善用置底文的標色功能) #include<stdio.h> char judge(char s){ if(s=='(' || s==')' || s=='-') return 1; if(s>='0' && s<='9') return 1; return 0; } int main(){ int key,sum,depth,node,tree[100000],IsLeaf; char s; bool YN; while(scanf("%d",&key)>0){ sum=0; depth=0; YN=false; while(1){ s=getchar(); if(judge(s)==0) { continue; } if(s=='('){ depth++; if(scanf("%d",&node)>0){ sum+=node; tree[depth]=node; IsLeaf=0; //IsLeaf: empty child count }else{ while(getchar()!=')'); depth--; IsLeaf++; if(IsLeaf==2){ // printf("%d,",sum); if(sum==key)YN=true; } } }else if(s==')'){ sum-=tree[depth]; depth--; IsLeaf=0; } if(depth==0) break; } if(YN)printf("yes\n"); else printf("no\n"); } return 0; } 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.102.109
ledia:他沒有提到過 tree depth 最深是 100000 過 ? 06/28 16:16
AE5096:他沒有提... 不過我開多少都死 都是WA RUN TIME 0.06x 06/28 16:18
AE5096:看來也沒有人知道我這code死在哪裡 orz 06/29 00:21