博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 514 - Rails
阅读量:6679 次
发布时间:2019-06-25

本文共 1305 字,大约阅读时间需要 4 分钟。

  《算法竞赛入门经典》6.1.2的题目,大意是给一个从1到n的递增序列A和一个1到n的排列B,让你判断能否通过栈操作(压入和弹出)把A转化成B。代码如下:

View Code
1 #include 
2 #include
3 using namespace std; 4 5 const int maxn = 1000+10; 6 stack
s; 7 8 int main() 9 { 10 #ifdef LOCAL 11 freopen("in", "r", stdin);12 #endif13 int n;14 int a[maxn];15 while(scanf("%d", &n) != EOF && n)16 {17 while(true)18 {19 scanf("%d", &a[0]);20 if(a[0] == 0) 21 {22 printf("\n");23 break;24 }25 for(int i = 1; i < n; i++) scanf("%d", &a[i]);26 int p = 1, q = 0;27 while(!s.empty()) s.pop();28 while(1)29 {30 if(!s.empty() && s.top() == a[q])31 {32 s.pop();33 q++;34 }35 else36 {37 if(p > n) break;38 s.push(p);39 p++;40 }41 }42 if(q >= n) printf("Yes\n");43 else printf("No\n");44 }45 }46 return 0;47 }48

 

转载于:https://www.cnblogs.com/xiaobaibuhei/archive/2013/05/03/3056806.html

你可能感兴趣的文章
理解AngularJS的作用域Scope
查看>>
Android 中Webview 自适应屏幕
查看>>
ubuntu 为rabbitmq安装web插件管理界面(为了远程查看rabbitmq) 分类...
查看>>
redis的lists类型
查看>>
js面试题1
查看>>
阿铭每日一题 day 4 20180114
查看>>
股市鬼才操盘20年总结的20条投资心得(转)
查看>>
转载:C#中的泛型
查看>>
1.4 注册系统的逻辑与结构
查看>>
NOIP模拟2017.6.11解题报告
查看>>
rpm安装mysql
查看>>
redis--主从同步,故障切换,集群搭建
查看>>
web2.0图形设计风格指南
查看>>
剑指offer数组列表
查看>>
redis(三)
查看>>
类的静态成员
查看>>
(转) Linux下Setuid命令!
查看>>
linux及安全课程总结
查看>>
纯命令行的编辑利器:用好 awk 与 sed
查看>>
IBATIS sql 小于(<) 写法 特殊符号写法
查看>>