测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A32389. 小白鼠再排队2N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。帽子的颜色用 “red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。输入输入第一行为一个整数N,表示小白鼠的数目。下面有N行,每行是一只白鼠的信息。第一个为正整数,表示白鼠的重量,不超过整型范围…

填空题 困难

题目描述

小白鼠再排队2

N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。帽子的颜色用 “red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。

输入

输入第一行为一个整数N,表示小白鼠的数目。

下面有N行,每行是一只白鼠的信息。

第一个为正整数,表示白鼠的重量,不超过整型范围;

第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。 

注意:白鼠的重量各不相同。

输出

按照白鼠的重量从小到大的顺序输出白鼠的帽子颜色。

样例输入

3

30 red

50 blue

40 green

样例输出

red

green

blue

参考答案

#include <algorithm> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <iostream> #include <list> #include <queue> #include <stack> #include <vector> using namespace std; struct sb { int z; char s[15]; } a[105]; bool cmp(sb a, sb b) { return a.z < b.z; } int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].z >> a[i].s; } sort(a + 1, a + 1 + n, cmp); for (int i = 1; i <= n; i++) { for (int j = 0; j < strlen(a[i].s); j++) { cout << a[i].s[j]; } cout << endl; } return 0; }

答案解析

//参考代码2

#include <bits/stdc++.h>


using namespace std;

struct shu

{

    int n;

    string s;

}a[100010];

bool cmp(shu a,shu b)

{

    return a.n<b.n;

}

int main()

{

    int N;

    cin>>N;

    for(int i=0;i<N;i++)

    {

        cin>>a[i].n>>a[i].s;

    }

    sort(a,a+N,cmp);

    for(int i=0;i<N;i++)

    {

        cout<<a[i].s<<endl;

    }

}

上一题 下一题