打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
浙大 1259 火车
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
const int MAXN = 1000 +10;
int n; 
int target[MAXN];

int main()
{
    while(scanf("%d",&n)&&n)
    {   
    while(scanf("%d",&target[1])&&target[1])
    {
      int stack[MAXN],top = 0;
      int A= 1,B=1;
      for(int i=2; i<=n; i++)
      scanf("%d",&target[i]);
      int ok = 1;
      while(B<=n)
      {
        if(A == target[B]){ A++;B++; }
         else if(top&&stack[top]==target[B]){top--; B++; }
         else if(A <= n)stack[++top]=A++;
         else {ok = 0; break;}
      }
      printf("%s\n",ok?"Yes":"No");
    }
   if(n)printf("\n");      
     }
     system("pause");
return 0;
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
NOIP复赛复习(十四)尺取法与折半枚举
[ZOJ 4016] Mergable Stack
图论之最短路径Dijkstra算法
2014百度面试
《算法竞赛入门经典(第2版)》代码 Chapter 3
Flow Problem(最大流)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服