序文:
21.再テストに参加できるかどうかに関係なく、道路に書かれたゴミコードを記録します。もともと「AlgorithmNotes」をかじったのですが、やりすぎたので、Kingway ComputerTestGuideに変更しました。
タイトル説明:
N個の白いマウス(1 <= N <= 100)で、各マウスの頭には色付きの帽子をかぶっています。次に、各マウスの重量を量り、マウスの重量の順に頭に帽子の色を出力します。帽子の色は「赤」や「青」などの文字列で表されます。異なる白いマウスは同じ色の帽子をかぶることができます。白ネズミの体重は整数で表されます。
説明を入力してください
マルチケース入力。各ケースの入力の最初の行は、マウスの数を表す整数Nです。
下にN行あり、各行は白いマウスの情報です。1つ目は、白いマウスの重さを表す100以下の正の整数です。2つ目は、白いマウスの帽子の色を表す文字列で、文字列の長さは10文字を超えません。
注:白いマウスの体重はさまざまです。
出力の説明:
いずれの場合も、白ネズミの帽子の色が白ネズミの体重順に出力されます。
回答
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<stdio.h>
using namespace std;
struct mos {
string color;
int weight;
};
bool cmp(mos mos1,mos mos2) {
return mos1.weight > mos2.weight;
}
int main()
{
int n;
while (scanf("%d", &n) != EOF) {
vector<mos> vi;
mos temp;
for (int i = 0; i < n; i++)
{
cin >> temp.weight >> temp.color;
vi.push_back(temp);
}
sort(vi.begin(), vi.end(), cmp);
for (int i = 0; i < n; i++)
cout <<vi[i].color<<endl;
}
return 0;
}