代码
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> v;
for(int i=0; i<n; i++) {
string s;
cin>>s;
int sum = 0;
for(int j=0; j<s.length(); j++) {
sum += s.at(j) - '0';
}
v.push_back(sum);
}
sort(v.begin(), v.end());
set<int> s;
for(int i=0; i<v.size(); i++) {
s.insert(v.at(i));
}
cout<<s.size()<<endl;
set<int>::iterator iter = s.begin();
cout<<*iter;
iter++;
while(iter != s.end()) {
cout<<" "<<*iter;
iter++;
}
cout<<endl;
return 0;
}
注解
1、vector的使用。先把每个数的sum排序。
2、set的使用。排序后加入到set中,set具备自动去重功能。
3、iterator的使用。用于遍历set。
set<int>::iterator iter = s.begin();
cout<<*iter;
iter++;
while(iter != s.end()) {
cout<<" "<<*iter;
iter++;
}