铁轨!!!

来源:互联网 发布:服装设计是那些软件 编辑:程序博客网 时间:2024/04/27 03:50
题意是:给出n节火车,火车可任意节进车站,给出火车出站顺序,判断能否实现,实现输出YES,不能实现输出NO;
#include<stdio.h>const int maxn=1000+10;int n,target[maxn];//定义了target[]数组int main(){    while(scanf("%d",&n)==1)    {        int stack[maxn],top=0;        for(int i=1;i<=n;i++)        {            scanf("%d",&target[i]);//输入列车驶出的顺序        }        int ok=1;        int a=1,b=1;        while(b<=n)        {            if(a==target[b])            {                a++;                b++;            }            else if(top&&stack[top]==target[b])            {                top--;                b++;            }            else if(a<=n)//top最大值是n-1                stack[++top]=a++;            else            {                ok=0;                break;            }        }        printf("%s\n",ok?"YES":"NO");    }    return 0;}

0 0
原创粉丝点击