暂存
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N=1e4+10; 4 struct node 5 { 6 char type; 7 int id; 8 }; 9 int main() 10 { 11 int T,n; 12 cin>>T>>n; 13 while(T--) 14 { 15 queue<node> q[n]; 16 for(int i=0;i<n;i++) 17 { 18 string s; char ch; 19 while(cin>>s) 20 { 21 node x; 22 x.type=s[0]; 23 string t=s.substr(1); 24 int num=atoi(t.c_str()); 25 x.id=num; 26 q[i].push(x); 27 if((ch=cin.get())=='\n') break; 28 } 29 } 30 bool flag=true; 31 while(flag) 32 { 33 int fail=0,done=0; 34 for(int i=0;i<n;i++) 35 { 36 if(!q[i].empty()) 37 { 38 node x=q[i].front(); 39 int id=x.id; 40 if(q[id].empty()) 41 { 42 cout<<1<<endl; 43 flag=false; 44 break; 45 } 46 else if(q[id].front().id==i && q[id].front().type!=x.type) 47 { 48 q[id].pop(); 49 q[i].pop(); 50 } 51 else fail++; 52 } 53 else done++; 54 } 55 if(done==n) 56 { 57 cout<<0<<endl; 58 break; 59 } 60 else if(done+fail==n) 61 { 62 cout<<1<<endl; 63 break; 64 } 65 } 66 } 67 return 0; 68 }