码迷,mamicode.com
首页 > 其他好文 > 详细

【题解】Reach-Top 2909 台风

时间:2019-08-16 18:56:05      阅读:378      评论:0      收藏:0      [点我收藏+]

标签:int   浙江省   水题   ace   string   输出   信息   top   包含   

题目描述

前几天,浙江省刚刚经历了台风袭击,相关部门要求统计一下各个地方的损失情况,并按损失程度从高到低进行排序。

输入

一个整数\(N\leq 10\)
下面\(N\)行,每行分别是地方的名称,以及本次台风的损失金额。

输出

按损失的金额大小,从高到低进行排序

样例输入

5
linhai 100
shaoxing 60
hangzhou 80
jiaxing 30
tiantai 70

样例输出

linhai 100
hangzhou 80
tiantai 70
shaoxing 60
jiaxing 30

思路&解答

经典排序水题。
首先,需要建立一个结构体struct node,里面包含每位难民的信息。
string name:每位难民的姓名。
int money:每位难民损失的金额。
具体实现:

struct node
{
    string name;
    int money;
};

在自定义排序函数cmp(node a,node b):

bool cmp(node a,node b)
{
    return a.money > b.money; //从损失程度高到损失程度低
}

最后调用sort()函数即可。

代码

#include <bits/stdc++.h>
using namespace std;
struct node
{
    string name;
    int money;
};
bool cmp(node a, node b)
{
    return a.money > b.money;
}
int main()
{
    node p[12];
    int n;
    cin >> n;
    for (int i = 1; i <= n; ++i)
        cin >> p[i].name >> p[i].money;
    sort(p + 1, p + n + 1, cmp);
    for (int i = 1; i <= n; ++i)
        cout << p[i].name << ' ' << p[i].money << endl;
    return 0;
}
/**************************************************************
    Reach-Top OJ
    RID:350347
    code length:398 B
    Problem: 2909
    User: 2018summerXC82
    Language: C++
    Result: 正确
    Time:0 ms
    Memory:1720 kb
****************************************************************/

【题解】Reach-Top 2909 台风

标签:int   浙江省   水题   ace   string   输出   信息   top   包含   

原文地址:https://www.cnblogs.com/binjiazhisheng/p/11365509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!