誰來救救我
在ACM對,但在這兒錯
我的程式碼
#include <stdio.h>
#include <string.h>
char data[257],stack[257];
int len,stack_t;
int main(){
int i,pl;
while(scanf("%s",data)!=EOF){
len=strlen(data);
stack_t=-1;
pl=0;
for(i=len-1;i>=0 && pl==0;i--){
if(data[i]>='p' && data[i]<='z'){
stack_t++;
stack[stack_t]=data[i];
}
else if(data[i]=='I' || data[i]=='E' || data[i]=='D' || data[i]=='C'){
if(stack_t>=1)
stack_t--;
else
pl=1;
}
else if(data[i]=='N' && stack_t==-1)
pl=1;
}
if(pl==0 && stack_t==0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
誰跟我說一下哪邊沒考慮到啊~~
謝謝
誰來救救我
在ACM對,但在這兒錯
我的程式碼
#include
#include
char data[257],stack[257];
int len,stack_t;
int main(){
int i,pl;
while(scanf("%s",data)!=EOF){
len=strlen(data);
stack_t=-1;
pl=0;
for(i=len-1;i>=0 && pl==0;i--){
if(data[i]>='p' && data[i]<='z'){
stack_t++;
stack[stack_t]=data[i];
}
else if(data[i]=='I' || data[i]=='E' || data[i]=='D' || data[i]=='C'){
if(stack_t>=1)
stack_t--;
else
pl=1;
}
else if(data[i]=='N' && stack_t==-1)
pl=1;
}
if(pl==0 && stack_t==0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
誰跟我說一下哪邊沒考慮到啊~~
謝謝
0.這個語言中僅有 p 到 z,還有 N,C,D,E,I 這幾個字母。
如果出現別的字母就是不合規則...
誰來救救我
在ACM對,但在這兒錯
我的程式碼
#include
#include
char data[257],stack[257];
int len,stack_t;
int main(){
int i,pl;
while(scanf("%s",data)!=EOF){
len=strlen(data);
stack_t=-1;
pl=0;
for(i=len-1;i>=0 && pl==0;i--){
if(data[i]>='p' && data[i]<='z'){
stack_t++;
stack[stack_t]=data[i];
}
else if(data[i]=='I' || data[i]=='E' || data[i]=='D' || data[i]=='C'){
if(stack_t>=1)
stack_t--;
else
pl=1;
}
else if(data[i]=='N' && stack_t==-1)
pl=1;
}
if(pl==0 && stack_t==0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
誰跟我說一下哪邊沒考慮到啊~~
謝謝
0.這個語言中僅有 p 到 z,還有 N,C,D,E,I 這幾個字母。
如果出現別的字母就是不合規則...
可是在輸入說明的地方是
"輸入中含有許多句子,每個句子一列,都只含有 p 到 z 還有 N, C, D, E, I這幾個字母。 "
意思就是說測資裡不應該有別的字母........
例如說第50組的測資是 "0"
這很明顯不符合輸入規則,
如果要有放進這條測資的話,輸入說明應該要稍加修改。