Source Code
Problem: 1363 | User: newer2015 | |
Memory: N/A | Time: N/A | |
Language: G++ | Result: Runtime Error |
- Source Code
#include<iostream> #include<stdio.h> #define MAX 10000 using namespace std; int sou[MAX]; int dir[MAX]; int stackArray[MAX]; int top=-1; int main() { int i=0,N=0; while(scanf("%d",&N)&&N!=0) { for(i=0;i<N;i++) { dir[i]=0; } top=-1; while(scanf("%d",&dir[0])&&dir[0]!=0) { int i=0,j=0; int flag=1; sou[0]=1; for(i=1;i<N;i++) { cin>>dir[i]; sou[i]=i+1; }/* for(i=0;i<N;i++) { printf("sou:%d",sou[i]); } cout<<endl; for(i=0;i<N;i++) { printf("dir:%d",dir[i]); } cout<<endl; */ for(i=0;i<N;i++) { if(sou[i]!=dir[j]) { stackArray[++top]=sou[i]; } else if(top==-1) { j++; } else { j++; while(top!=-1) { if(stackArray[top]==dir[j]) { //printf("%d\n",stackArray[top]); top=top-1; j++; } else { break; } } } } if(top!=-1) { printf("No\n"); flag=0; } if(flag) printf("Yes\n"); } } return 0; }
代码检查了好几遍,但是还是runtime error