题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805267416334336
一遍过,注意点是set不可以使用迭代器+数字的方法索引
代码
#include<vector>#include<set>#include<cstdio>using namespace std;int main(){int n;scanf("%d", &n);vector<int> num(n);set<int> res;for(int i = 0; i < n; i++) scanf("%d", &num[i]);for(int i = 0; i < n; i++){int friend_num = 0;while(num[i] != 0){friend_num += num[i] % 10;num[i] /= 10;}res.insert(friend_num);}printf("%d\n", res.size());printf("%d", *res.begin());for(auto it = res.begin(); it != res.end(); it++){if(it == res.begin())continue;printf(" %d", *it);}}
