1 条题解
-
0
C :
#include <stdio.h> int Input(void); int main(int argc, char const *argv[]) { int n0,n; scanf("%d\n",&n0); for (n=0;n<n0;n++) { int num[10000]={0,}; int t=0,i=0; while (t=Input()) { if (t==2)continue; num[i++]=t; while (i>1&&(num[i-2]+num[i-1]==0)&&num[i-2]>num[i-1])i=i-2; } if(i==0)printf("Case %d:Yes\n",n+1); else printf("Case %d:No\n",n+1); } return 0; } int Input(void) { char a=getchar(); int s=0; switch (a) { case '(':s=1;break; case ')':s=-1;break; case ' ':s=2;break; } return s; }
C++ :
#include <stdio.h> char str[5005]; int solve(){ int i,cnt=0; for(i=0;str[i];i++){ if(str[i]==' ') continue; if(str[i]=='(') cnt++; else{ if(cnt<=0) return -1; cnt--; } } return cnt; } int main(){ int cases,t; scanf("%d",&cases); getchar(); t=1; while(cases--){ gets(str); if(solve()) printf("Case %d:No\n",t++); else printf("Case %d:Yes\n",t++); } return 0; }
- 1
信息
- ID
- 2319
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者