7-2 老鼠爱大米 (20分)
翁恺老师曾经设计过一款 Java 挑战游戏,叫“老鼠爱大米”(或许因为他的外号叫“胖胖鼠”)。每个玩家用 Java 代码控制一只鼠,目标是抢吃尽可能多的大米让自己变成胖胖鼠,最胖的那只就是冠军。
因为游戏时间不能太长,我们把玩家分成 N 组,每组 M 只老鼠同场竞技,然后从 N 个分组冠军中直接选出最胖的冠军胖胖鼠。现在就请你写个程序来得到冠军的体重。
输入格式:
输入在第一行中给出 2 个正整数:N为组数,M为每组玩家个数。随后 N 行,每行给出一组玩家控制的 M
只老鼠最后的体重,均为不超过 1 的非负整数。数字间以空格分隔。
输出格式:
首先在第一行顺次输出各组冠军的体重,数字间以 1 个空格分隔,行首尾不得有多余空格。随后在第二行输出冠军胖胖鼠的体重。
输入样例:
3 5 62 53 88 72 81 12 31 9 0 2 91 42 39 6 48
输出样例:
88 31 91 91
本题考最基础的排序,没什么难点,可以选择结构体排序,但是这里使用结构体就显得有些浪费了,所以直接用max对每组数据挨个输入判断。
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> vt;
while (n--) {
int max = -1;
for (int i = 0; i < m; ++i) {
int temp;
cin >> temp;
if (temp > max)
max = temp;
}
vt.push_back(max);
}
for (int i = 0; i < vt.size(); ++i) {
cout << vt[i];
if (i != vt.size() - 1)
cout << ' ';
}
cout << endl;
sort(vt.begin(), vt.end());
cout << vt[vt.size() - 1] << endl;
return 0;
}