给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
#include<iostream>
#include<stdio.h>
#include<stack>
#include<algorithm>
using namespace std;
main()
{
int n,i,x,y,k,l;
stack<int> H[3];//使用编译器里的栈必须加上c++头文件
scanf("%d", &n);
while(n--)
{
int flag=0;//标志符
for(i=0;i<3;i++)
while(!H[i].empty())
H[i].pop();
scanf("%d%d",&k,&l);
while(k--)
H[0].push(k);
while(l--)
{
scanf("%d%d", &x, &y);
x--;
y--;
if(H[x].empty()) flag = 1;
else if(H[y].empty())
{
int t = H[x].top();
H[x].pop();
H[y].push(t);
}
else if(!H[y].empty()&&!H[x].empty())
{
if(H[x].top()>H[y].top()) flag=1;
else
{
int t=H[x].top();
H[x].pop();
H[y].push(t);
}
}
}
if(flag)//判断
printf("illegal\n");
else
printf("legal\n");
}
}