UVa 514 - Rails

来源:互联网 发布:node 删除文件夹 编辑:程序博客网 时间:2024/06/02 10:46

题目:利用一个栈的序列构造

分析:简单题、栈。

注意:输出空行。

#include <iostream>#include <stdio.h>#include <stdlib.h>#include <stack> using namespace std;int d[ 1005 ];int u[ 1005 ];int main(){int n;while ( cin >> n && n ) {while ( cin >> d[1] && d[1] ) {for ( int i = 2 ; i <= n ; ++ i ) cin >> d[i];stack<int> S;int o = 1,k = 1;while ( o <= n ) {if ( !S.empty() && d[o] == S.top() ) {S.pop();++ o;//printf("pop\n");}else if ( d[o] != k ) {S.push(k);if ( ++ k > n ) break;//printf("push\n");}else {++ o;++ k;//printf("move\n");}}if ( o > n ) cout << "Yes" << endl;else cout << "No" << endl;}cout << endl;}return 0;}


原创粉丝点击