【PAT】B1065 单身狗(25 分)
#include<stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
int canzhao[100000],canzhao2[100000],laike[10005];
//分别存储谁是谁的配偶,标记这个来客的配偶已经来了,来的客人
bool cmp(int a,int b){
return a<b;
}
int main(){
int N,M;scanf("%d",&N);
for(int i=0;i<N;i++){
int a,b;
scanf("%d%d",&a,&b);
canzhao[a]=b;
canzhao[b]=a;
}
scanf("%d",&M);
for(int i=0;i<M;i++){
int c;
scanf("%d",&c);
laike[i]=c;
canzhao2[canzhao[c]]=111111;//标记这个人不孤单
}
sort(laike,laike+M,cmp); //排序来客
int danshengou[100000],flag=0;//储存单身狗
for(int i=0;i<M;i++){
if(canzhao2[laike[i]]!=111111){
danshengou[flag]=laike[i];
flag++;
}
}
printf("%d\n",flag);
for(int i=0;i<flag;i++){
if(i!=0)printf(" ");
printf("%05d",danshengou[i]);
}
return 0;
}
大佬忽略,见笑。