首页 > 代码库 > poj 1363 Rails

poj 1363 Rails

题目链接:http://poj.org/problem?id=1363

题目大意:1~n输入,然后以题目要求进行输出,判断能否实现!“0”表示一组数据的结束~注意每组输出后有一个空行!

 1 #include <iostream> 2 #include <cstdio> 3 #include <stack> 4 using namespace std; 5 int main () 6 { 7     int t,flag,s,n; 8     while (scanf("%d",&t)!=EOF) 9     {10         flag=0;11         if (t==0)12             break;13         while (1)14         {15             stack<int>q,qq;16             int ko=1;17             q.push(ko);18             for (int i=1; i<=t; i++)19             {20                 scanf ("%d",&n);21                 if (n==0)22                 {23                     flag=1;24                     break;25                 }26                 if (q.empty())27                 {28                     ko++;29                     q.push(ko);30                 }31                 int s=q.top();32                 while (s!=n)33                 {34                     if (ko==t)35                         break;36                     ko++;37                     q.push(ko);38                     s=q.top();39                 }40                 if (s==n)41                     q.pop();42             }43             if(flag)44                 break;45             if(q.empty())46                 puts("Yes");47             else48                 puts("No");49         }50         printf("\n");51     }52     return 0;53 }