PAT A1121

#include<cstdio>
#include<algorithm>
#include<vector>
#include<iostream>
#include<iomanip>
using namespace std;
const int maxn2=100010;
const int maxn1=500001;
bool single[maxn2]={true};
int N,M,dog=0;
vector<int>dogs;
int couples[maxn1];
int main(){
    fill(couples,couples+maxn1,-1);
    scanf("%d",&N);
    int c1,c2;
    for(int i=0;i<N;i++){
        scanf("%d %d",&c1,&c2);
        couples[c1]=c2;
        couples[c2]=c1;
    }
    scanf("%d",&M);
    int q;
    for(int i=0;i<M;i++){
        scanf("%d",&q);
        dogs.push_back(q);
        vector<int>::iterator it=find(dogs.begin(),dogs.end(),couples[q]);
        if(it!=dogs.end()){
            dogs.pop_back();
            dogs.erase(it);
            dog--;
        }
        else{
            dog++;
        }
    }
    printf("%d",dog);
    if(dog>0)printf("\n");
    int space=0;
    sort(dogs.begin(),dogs.end());
    for(auto it=dogs.begin();it!=dogs.end();it++){
        cout<<setw(5)<<setfill('0')<<*it;
        space++;
        if(space<dog)cout<<" ";
    }
    return 0;
}  

猜你喜欢

转载自blog.csdn.net/idealhunting/article/details/83655817
PAT