ACM题解报告——HD1022
2013-05-16 22:43
351 查看
比较简单的一道进栈和出栈的题目:http://acm.hdu.edu.cn/showproblem.php?pid=1022
题目的大体意思就是一个火车站某一时刻只能停9辆火车,分别输入进栈火车的数量、序列和火车出栈的序列,判断该出栈序列能否满足要求,如果可以满足要求,则进栈时输出in、出栈时输出out.
代码如下:
题目的大体意思就是一个火车站某一时刻只能停9辆火车,分别输入进栈火车的数量、序列和火车出栈的序列,判断该出栈序列能否满足要求,如果可以满足要求,则进栈时输出in、出栈时输出out.
代码如下:
#include<stdio.h> #include<iostream> using namespace std; int main( ) { int n,i,j; char a[10],b[10],stack[10];//a,b是两个串 int top; while( scanf("%d",&n)!=EOF) { top=-1;//栈为空 cin>>a>>b; for(i=0,j=0;i<n;i++) { top++; stack[top]=a[i];//a[i]进栈 while( 1) { if( top==-1||stack[top]!=b[j]) break;//栈为空或者不符合出栈的条件,跳出while循环 else {//出栈 top--; j++; } } } if( top!=-1)//若最后栈不为空,则该出栈顺序无法满足 printf("No.\n"); else { printf("Yes.\n"); for(i=0,j=0;i<n;i++) {//进栈输出in,出栈输出out top++; stack[top]=a[ i]; printf("in\n"); while( 1) { if( top==-1||stack[top]!=b[j]) break; else { top--; j++; printf("out\n"); } } } } printf("FINISH\n"); } return 0; }
相关文章推荐
- ACM题解报告——HD1006
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
- 重邮第八届ACM大赛-预赛题解报告
- ACM题解报告——HD1496
- 重邮第八届ACM大赛-决赛题解报告
- ACM题解报告——进制数取于余
- 【解题报告】2014ACM/ICPC亚洲区鞍山站
- BugKuCTF_WEB题解报告
- 2015年4月25日浙江省ACM比赛题解
- ACM--HDOJ2005解题报告
- ACM--HDOJ1201解题报告
- 【hdu 5510】【2015ACM/ICPC亚洲区沈阳站-重现赛 】Bazinga 题意&题解&代码(C++)
- 【hdu 5521】【 2015ACM/ICPC亚洲区沈阳站重现赛】Meeting 题意&题解&代码
- 「HD_ACM」A+B for Input-Output Practice (IV)
- 「HD_ACM」Climbing Worm
- LeetCode #56 题解报告
- Noip2011题解报告
- POJ 3667 HOTEL 题解报告
- 北大 acm 3083解题报告--dfs与bfs的运用
- NOIP2017 逛公园 题解报告 【最短路 + 拓扑序 + dp】