POJ 2218 - Does This Make Me Look Fat?
http://poj.org/problem?id=2218
概要
1日で1ポンド痩せるダイエット法がある.
そのダイエットに参加した人の名前と参加日数と初期体重が与えられるので,最終的な体重の多い順に名前を出力する.
制約
- 参加人数は10以下
- 名前は1以上20以下のアルファベットのみからなる
- 参加日数は1000未満
- 初期体重は10000未満
解法
初期体重から参加日数を引いてソートするだけ.
poj/2218.cc1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 using namespace std; 5 6 int main() 7 { 8 string msg; 9 while (cin >> msg) { 10 vector<pair<int,string> > v; 11 string name; 12 while (cin >> name && name != "END") { 13 int days, weight; 14 cin >> days >> weight; 15 v.push_back(make_pair(weight-days, name)); 16 } 17 sort(v.rbegin(), v.rend()); 18 for (vector<pair<int,string> >::const_iterator it = v.begin(); it != v.end(); ++it) { 19 cout << it->second << endl; 20 } 21 cout << endl; 22 } 23 return 0; 24 }