#1038: 誰救救我~~


ken1114 (拚拚拚徒)

學校 : 新北市立福和國民中學
編號 : 3221
來源 : [140.131.149.248]
最後登入時間 :
2011-07-26 10:20:14
c106. 00271 - Simply Syntax -- UVa271 | From: [163.20.16.248] | 發表日期 : 2008-12-07 10:57

誰來救救我

在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;
}

誰跟我說一下哪邊沒考慮到啊~~

謝謝

 
#1044: Re:誰救救我~~


mac (風)

學校 : 國立鳳新高級中學
編號 : 1987
來源 : [114.137.211.24]
最後登入時間 :
2017-08-30 12:35:54
c106. 00271 - Simply Syntax -- UVa271 | From: [218.164.146.75] | 發表日期 : 2008-12-10 05:38

誰來救救我

在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 這幾個字母。

如果出現別的字母就是不合規則...

 
#1766: Re:誰救救我~~


yuscvscv (小可魚)

學校 : 國立臺南第一高級中學
編號 : 2401
來源 : [140.112.16.132]
最後登入時間 :
2015-10-06 00:22:20
c106. 00271 - Simply Syntax -- UVa271 | From: [118.171.146.172] | 發表日期 : 2009-04-12 15:50

誰來救救我

在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"

這很明顯不符合輸入規則,

 如果要有放進這條測資的話,輸入說明應該要稍加修改。

 
ZeroJudge Forum