NYOJ93 汉诺塔(三)

来源:互联网 发布:java.exe占用内存过高 编辑:程序博客网 时间:2024/04/29 12:27

原题链接

#include <cstdio>#include <stack>#include <algorithm>using namespace std;int main(){stack<int> s[4];int t, m, n, a, b, i, ok;scanf("%d", &t);while(t--){scanf("%d%d", &m, &n);for(i = m; i > 0; --i)s[1].push(i);ok = 1;while(n--){scanf("%d%d", &a, &b);if(ok) if(s[a].empty() || (!s[b].empty() && s[b].top() < s[a].top())) ok = 0;else{s[b].push(s[a].top());s[a].pop();}}printf(ok ? "legal\n" : "illegal\n");for(i = 1; i < 4; ++i)while(!s[i].empty()) s[i].pop();}return 0;}

801366长木汉诺塔(三)Accepted0308C/C++04-07 20:48:53

0 0