【水果搬运问题】


一组工人搬运一批水果,用一维数组存储工人编号和水果名称以及搬运重量,要求先按水果分组,然后按搬运重量排序输出。

输入描述

第一行包括一个整数 N(1≤N≤100),代表工人的个数。

接下来的 N 行每行包括两个整数 p 和 q,

分别代表每个工人的编号和搬运重量,以及一个字符串 m,代表水果的名称。

输出描述

先按水果分组,然后按工人的搬运重量从小到大进行排序,并将排序后的信息打印出来。

如果工人搬运的重量相同,则按照编号的大小从小到大排序,并且要求水果的输出次序同输入次序。

示例 1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

5
Apple 1 80
Apple 2 62
Apple 4 73
Orange 4 65
Orange 1 90
Apple 3 91
Orange 3 88
Orange 5 90

输出

Apple 2 62
Apple 4 73
Apple 1 80
Apple 3 91
Orange 4 65
Orange 3 88
Orange 1 90
Orange 5 90

代码实现


C++


#include <bits/stdc++.h>

using namespace std;

typedef struct FruitTransport
{
    string name;
    int id{};
    int weight{};
} FruitTransport;


剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看