[ACM ] 112 WA
( *[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
推
06/28 16:16, , 1F
06/28 16:16, 1F
→
06/28 16:18, , 2F
06/28 16:18, 2F
→
06/29 00:21, , 3F
06/29 00:21, 3F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章