题意:把字符串中的符号化为ASCII码。输出所有子集的ASCII码的和。
题记:每个子集对应一个二进制,直接判断求和即可。最后排序。
#include<bits/stdc++.h>
using namespace std;
char str[25];
int main(){
int n;
while(cin>>n){
cin>>str;
vector<int>ans;
for(int i=0;i<(1<<n);i++){
int t=0;
for(int j=0;j<n;j++){
if(i&(1<<j)){
t=t+str[j];
//cout<<t<<' ';
}
}
ans.push_back(t);
}
sort(ans.begin(),ans.end());
for(auto x:ans)
cout<<x<<' ';
cout<<endl;
}
return 0;
}