hdu Train Problem I(stack栈)
2016-11-28 14:25
99 查看
[align=center]Train Problem I[/align]
[align=left]原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022[/align]
[align=left]题目大意:有n个不同的火车,给你两个字符串,按照O1的顺序进站,判断能不能按照O2的顺序出站。[/align]
[align=left]代码:[/align]
[align=left]原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022[/align]
[align=left]题目大意:有n个不同的火车,给你两个字符串,按照O1的顺序进站,判断能不能按照O2的顺序出站。[/align]
[align=left]代码:[/align]
#include<stdio.h> #include<string.h> #include<stack> using namespace std; int main() { int n; char s1[12],s2[12]; stack<char>s; while(~scanf("%d %s %s",&n,s1,s2)) { while(!s.empty())//清空栈中的元素 s.pop(); int i=0,j=0,k=0,flag[100]; memset(flag,-1,sizeof(flag)); for(; i<n; i++) { s.push(s1[i]);//进栈 flag[k++]=1;//进栈标记为1 while(!s.empty()&&s2[j]==s.top())//当栈中有元素,并且栈顶元素与s2出栈的元素相等 { s.pop();//出栈 flag[k++]=0;//出栈标记为0 j++; } } if(j==n)//栈中元素全部出去,即j==n { printf("Yes.\n"); for(i=0; i<k; i++) { if(flag[i]) printf("in\n"); else printf("out\n"); } } else printf("No.\n"); printf("FINISH\n"); } return 0; }
相关文章推荐
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- hdu Train Problem I(stack栈)
- HDU 1023 Train Problem II
- hdu 1022 Train Problem I
- HDU 1022 Train Problem I (STL 栈模拟)
- hdu 1022----Train Problem I(栈)
- (HDU - 1022)Train Problem I
- hdu 1022 Train Problem I
- hdu 1023 Train Problem II