Re: [ACM ] 112 WA

看板C_and_CPP (C/C++)作者 (可愛中央處理器)時間16年前 (2010/06/29 15:25), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《AE5096 (XD)》之銘言: : ( *[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; /*不加底下紅色這行的話,下面的測資會錯唷 ^.< 1 ( 1 () () ) 1 () 0 () */ IsLeaf=0; : 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: 60.248.4.114

07/03 11:06, , 1F
謝謝cutecpu大大 受小弟一拜 <(_ _)>
07/03 11:06, 1F
文章代碼(AID): #1CAQ04is (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
1
3
16年前, 06/28
完整討論串 (本文為第 2 之 2 篇):
1
1
1
3
16年前, 06/28
文章代碼(AID): #1CAQ04is (C_and_CPP)