前言
正文
参考题解
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
/* 题意: 水题,计算所给n个数的不同的friend id的个数以及这些id 思路:散列即可 */
const int N=1e4+10;
bool id[50];
map<int,bool> mp;
int main(){
int n,cnt=0,temp;
fill(id,id+50,false);
cin>>n;
for(int i=0;i<n;i++){
cin>>temp;
int sum=0;
do{
sum+=temp%10;
temp/=10;
}while(temp!=0);
if(id[sum]==false){
cnt++;
mp[sum]=true;
id[sum]=true;
}
}
cout<<cnt<<endl;
for(auto it=mp.begin();it!=mp.end();it++){
if(it!=mp.begin())cout<<" ";
cout<<it->first;
}
return 0;
}