第三天 POJ 1363

Source Code

Problem: 1363   User: newer2015
Memory: N/A   Time: N/A
Language: G++   Result: Runtime Error
  • Source Code
    #include
    #include
    #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
            {
                printf("sou:%d",sou[i]);
            }
            cout<
            for(i=0;i
            {
                printf("dir:%d",dir[i]);
            }
            cout<
            */
            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
    

你可能感兴趣的:(第三天 POJ 1363)