就第三个测试点过不了,不知道为什么
#include <bits/stdc++.h>
using namespace std;
int flagg,cnt;
string b[11000],a[11000],x;
map<string,int>flag;
int main(int argc, char** argv){
int N,K,M;
cin>>N;
for(int i=1;i<=N;i++){
cin>>K;
for(int j=1;j<=K;j++){
cin>>x;
flag[x]=1;
if(K==1)
flag[x]=0;
}
}
cin>>M;
for(int i=1;i<=M;i++)
cin>>a[i];
for(int i=1;i<=M;i++)
if(flag[a[i]]==0)
flagg=1,flag[a[i]]=1,b[cnt++]=a[i];
if(flagg){
int i;
cout<<b[0];
for(i=1;i<cnt;i++)
cout<<' '<<b[i];
}
if(!flagg)
cout<<"No one is handsome";
return 0;
}
类型的话是这样的,看你的代码应该是输出前补0的那个没写