Sampe Input1
3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
8
55555 44444 10000 88888 22222 11111 23333 88888
Sample Output1
10000 88888 23333
Sample Input2
3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
4
55555 44444 22222 11111
Sample Output2
No one is handsome
思路
使用数组下表表示ID,初始化为0,输入的时候:出现过的ID等于1表示有朋友
注意
1 只有1个人的朋友圈不用记录1
2 已经输出过的没朋友的,把值变为-1,下次不再输出
3 控制输出格式 00000~99999,不足前面补0
代码
#include<stdio.h>
#include<string.h>
#define N 100100
int b[N];
int main(){
int t,n,m,x,f=0;
scanf("%d",&t);
memset(b,0,sizeof(b));
while(t--){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&x);
if(n!=1) //1个人也算没朋友
b[x]=1;
}
}
scanf("%d",&m);
for(int i=0;i<m;i++){
scanf("%d",&x);
if(!b[x]){
if(!f) f=1; //控制空格
else printf(" ");
b[x]=-1; //防重复
printf("%05d",x); //坑点
}
}
if(!f)
printf("No one is handsome\n");
return 0;
}