题目链接:
题目大意:1~n输入,然后以题目要求进行输出,判断能否实现!“0”表示一组数据的结束~注意每组输出后有一个空行!
1 #include2 #include 3 #include 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 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 }