atcoder #0003

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;
}