2000万优秀解决方案库,覆盖所有编程及软件开发类,极速查询
今日已更新 148 篇代码解决方案
2024-09-11 01:41:28 216人阅读
153 5 4 2 1
Possible
#include<cstdio>#include<stack>using namespace std;const int MAXN=1000+10;int m,n,target[MAXN];int main() { scanf("%d",&m); for(int k=1; k<=m; k++) { scanf("%d",&n); stack<int> s; int A=1,B=1; for(int i=1; i<=n; i++) scanf("%d",&target[i]); int ok=1; while(B<=n) { if(A==target[B]) { A++; B++; } else if(!s.empty()&&s.top()==target[B]) { s.pop(); B++; } else if(A<=n)s.push(A++); else { ok=0; break; } } printf("%s\n",ok?"Possible":"Impossible"); } return 0;}
铁轨问题
https://www.u72.net/daima/8abn.html
联系 我们
回到 顶部