POJ 2418 Hardwood Species
問題
木の名前がいくつか入力される。各木の種類について、それが入力された総数のうち何%を占めているか木の名前のアルファベット順にパーセンテージで出力せよ。
やりかた
mapに木の名前と出現数を入れて総数で割って、、、というだけ。入力はgetsを使えば余裕で通る。
以下ソース。
int main(int argc, char **argv){ char tree[256]; map<string, int> p; int num = 0; while(gets(tree)){ p[string(tree)]++; num++; } map<string, int>::iterator it = p.begin(); for(; it != p.end(); it++) printf("%s %.4f\n", (it->first).c_str(), it->second * 100.0 / num); return 0; }
atetubouさんによればgetlineでも通ったそうです。
PKU 2418 Hardwood Species - 日記
Get up! 明日のSUPER ST@R!