【PAT甲级】1121 Damn Single (25分)
题意:
输入一个正整数N(<=50000),接着输入N对整数,表示这一对为一对。输入一个正整数Q(<=10000),接着输入Q个整数,输出其中不成对或者另一半未出现在Q个数中的数的个数,并从小到大输出。
AAAAAccepted code:
1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 vector<int>v; 5 int vis[100007]; 6 int a[10007]; 7 map<int,int>mp; 8 int main(){ 9 //ios::sync_with_stdio(false); 10 //cin.tie(NULL); 11 //cout.tie(NULL); 12 int n; 13 scanf("%d",&n); 14 for(int i=1;i<=n;++i){ 15 int x,y; 16 scanf("%d%d",&x,&y); 17 vis[x]=2; 18 vis[y]=2; 19 mp[x]=y; 20 mp[y]=x; 21 } 22 int q; 23 scanf("%d",&q); 24 for(int i=1;i<=q;++i){ 25 scanf("%d",&a[i]); 26 --vis[a[i]]; 27 --vis[mp[a[i]]]; 28 } 29 for(int i=1;i<=q;++i) 30 if(vis[a[i]]!=0) 31 v.emplace_back(a[i]); 32 sort(v.begin(),v.end()); 33 printf("%d\n",v.size()); 34 for(int i=0;i<v.size();++i){ 35 if(i==0) 36 printf("%05d",v[i]); 37 else 38 printf(" %05d",v[i]); 39 } 40 return 0; 41 }
保持热爱 不懈努力
不试试看怎么知道会失败呢(划掉)
世上无难事 只要肯放弃(划掉)