考的时候这是第一题,应该说是很简单很简单的
不过第一次考,难免有些紧张。。。花了快30分钟才把这题搞定
运行的时候发现字符变数字没有加
-'0';
好尴尬!!!
之前一度还想用atoi。。。结果这个用的也不熟,string还要加c_str();转化为字符数组。。。觉得好烦琐,不如直接写个函数转换得了
学的多(不精)适得其反。。。
#include<iostream>
#include<string>
#include<set>
using namespace std;
set<int> output;
int change(string s){
int sum=0;
for(int i=0;i<s.size();i++){
sum+=s[i]-'0';
}
return sum;
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
string s;
cin>>s;
output.insert(change(s));
}
cout<<output.size()<<endl;
for(set<int>::iterator it=output.begin();it!=output.end();it++){
if(it!=output.begin()) printf(" ");
printf("%d",*it);
}
return 0;
}