原题目: 1120 Friend Numbers (20 分).
题意
Friend Numbers指各位数字之和相同的数,且这个“和”作为它们的Friend ID。
分析
利用集合set中元素的不重复性和有序性。
知识点
集合set复习,见👉 传送门:1154 Vertex Coloring (25 分)
CODE
#include <iostream>
#include <set>
using namespace std;
int getFriendNum(int num);
int main()
{
set<int> s;
int n, num;
cin >> n;
for ( int i=0; i<n; i++ ){
cin >> num;
s.insert(getFriendNum(num));
}
cout << s.size() << endl;
for ( auto it=s.begin(); it!=s.end(); it++ ){
if ( it!=s.begin() ) cout << " ";
cout << *it;
}
return 0;
}
int getFriendNum(int num){
int sum = 0;
while ( num!=0 ){
sum += num%10;
num /= 10;
}
return sum;
}