1. 問題 http://arc003.contest.atcoder.jp/tasks/arc003_1
int main(void){ double n; cin >> n; string str; cin >> str; double cnt(0); rep(i,n){ if(str[i] == 'A') cnt += 4; else if(str[i] == 'B') cnt += 3; else if(str[i] == 'C') cnt += 2; else if(str[i] == 'D') cnt += 1; } cout <<fixed<<setprecision(14)<< cnt/n << endl; return 0; }
2. 問題 http://arc003.contest.atcoder.jp/tasks/arc003_2
reverseしたものをmapのキーとして配列にいれるだけ
int main(void){ int n; cin >> n; map<string,string> ma; rep(i,n){ string str1,str2; cin >> str1; str2 = str1; reverse(ALL(str2)); ma[str2] = str1; } for(map<string,string>::iterator it = ma.begin();it != ma.end();it++){ cout << it->second << endl; } return 0; }