http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3960
字符串存一下搞一搞
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--)
{
int n,q;
scanf("%d%d",&n,&q);
int c;
scanf("%d",&c);
string list[222];
for(int i=0;i<c;i++)
cin>>list[i];
string que[33][222];
int qj[33];
for(int i=0;i<q;i++)
{
scanf("%d",&qj[i]);
for(int j=0;j<qj[i];j++)
cin>>que[i][j];
}
int ma[111][33];
for(int i=0;i<n;i++)
{
for(int j=0;j<q;j++)
{
scanf("%d",&ma[i][j]);
}
}
for(int i=0;i<n;i++)
{
int js=0;
string ans;
for(int j=0;j<c;j++)
{
int flag=0;
for(int e=0;e<q;e++)
{
int ff=0;
for(int k=0;k<qj[e];k++)
{
if(que[e][k]==list[j])
{
ff=1;
break;
}
}
if(ff==0&&ma[i][e]==1)
{
flag=1;
break;
}
if(ff==1&&ma[i][e]==0)
{
flag=1;
break;
}
}
if(flag==0)
{
js++;
ans= list[j];
}
if(js>1)
{
cout<<"Let's go to the library!!"<<endl;
break;
}
}
if(js==0)
{
cout<<"Let's go to the library!!"<<endl;
}
else if(js==1)cout<<ans<<endl;
}
}
return 0;
}