2009-03-14 20:13:56來源不明
ACM 11222 11222 - Only I did it!”
pchome有點窄,這題是暴力
/************************************************************/
#include<stdio.h>#include<stdlib.h>
int main()
{
int n,time=0;
while(scanf("%d",&n)==1)
{
int a,b,c;
for(a=0;a<n;a++)
{
time++;
int people[4][10001]={0},same[4][10001]={0},mm[4][1001]={0},flag1=0,flag2=0,flag3=0,m[4]={0};
for(b=0;b<3;b++)
{
scanf("%d",&m[b]);
for(c=0;c<m[b];c++)
{
scanf("%d",&mm[b][c]);
people[b][mm[b][c]]=1;
if(b==0) {same[1][mm[b][c]]=1;same[2][mm[b][c]]=1;}
else if(b==1) {same[0][mm[b][c]]=1;same[2][mm[b][c]]=1;}
else {same[0][mm[b][c]]=1;same[1][mm[b][c]]=1;}
}
}
/*處理@@*/
for(b=0;b<10001;b++)
{
if(people[0][b]==1&&same[0][b]==0) flag1++;
if(people[1][b]==1&&same[1][b]==0) flag2++;
if(people[2][b]==1&&same[2][b]==0) flag3++;
}
printf("Case #%d:\n",time);
if(flag1>flag2&&flag1>flag3)
{
printf("1 %d",flag1);
for(b=0;b<10001;b++) if(people[0][b]==1&&same[0][b]==0) printf(" %d",b);
}
else if(flag1<flag2&&flag2>flag3)
{
printf("2 %d",flag2);
for(b=0;b<10001;b++) if(people[1][b]==1&&same[1][b]==0) printf(" %d",b);
}
else if(flag3>flag2&&flag1<flag3)
{
printf("3 %d",flag3);
for(b=0;b<10001;b++) if(people[2][b]==1&&same[2][b]==0) printf(" %d",b);
}
else
{
printf("1 %d",flag1);
for(b=0;b<10001;b++) if(people[0][b]==1&&same[0][b]==0) printf(" %d",b);
printf("\n2 %d",flag2);
for(b=0;b<10001;b++) if(people[1][b]==1&&same[1][b]==0) printf(" %d",b);
printf("\n3 %d",flag3);
for(b=0;b<10001;b++) if(people[2][b]==1&&same[2][b]==0) printf(" %d",b);
}
printf("\n");
}
}
return 0;
}