poj 1363 Rails(STL应用)

来源:互联网 发布:淘宝护肤品是正品吗 编辑:程序博客网 时间:2024/06/08 12:09

题目链接:http://poj.org/problem?id=1363


题目大意:就是给你n个数(1~n),从1开始入栈,然后给你一个序列,问能否按这个序列出栈


思路,就是直接模拟计算判断。。。。


code

#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<stack>using namespace std;int a[1010];int b[1010];int main(){    int n,i,j;    while(scanf("%d",&n)==1&&n)    {        while(scanf("%d",&a[0]))        {            if(a[0]==0) break;            stack<int> Q;            while(!Q.empty()) Q.pop();            for(i=1;i<n;i++)            {                scanf("%d",&a[i]);            }            j=1;            int s,flag=0;            for(i=0;i<n;i++)            {                while(j<=a[i])                {                    Q.push(j);                    j++;                }                s=Q.top();                Q.pop();                if(s!=a[i])                {                    flag=1;                    break;                }            }            if(flag==0)            {                printf("Yes\n");            }            else            {                printf("No\n");            }        }        printf("\n");    }    return 0;}


0 0