AcWing 1610. 朋友数
原题链接
简单
作者:
王小强
,
2021-03-21 19:14:01
,
所有人可见
,
阅读 257
使用了一个有序的Set
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int n;
int sum_digits(int x) {
int s = 0;
while (x) {
s += x % 10;
x /= 10;
}
return s;
}
int main(int argc, char** argv) {
cin >> n;
vector<int> nums(n);
set<int> friends;
for (int i = 0; i < n; ++i) cin >> nums[i];
for (const auto& x : nums)
friends.emplace(sum_digits(x));
vector<int> ans(begin(friends), end(friends));
printf("%d\n", ans.size());
for (int i = 0; i < ans.size(); ++i) {
printf("%d", ans[i]);
if (i < ans.size() - 1) putchar(' ');
}
return 0;
}