PAT-乙-1064 1064 朋友數 (20 分)
阿新 • • 發佈:2018-11-03
程式碼
#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++;
}