描述鲁宾逊先生有一只宠物猴名叫多多。这天他们两个正沿着乡间小路散步突然发现路边的告示牌上贴着一张小小的纸条:欢迎免费品尝我种的花生!——熊字。鲁宾逊先生和多多都很开心因为花生正是他们的最爱。在告示牌背后路边真的有一块花生田花生植株整齐地排列成矩形网格如图1。有经验的多多一眼就能看出每棵花生植株下的花生有多少。为了训练多多的算术鲁宾逊先生说:你先找出花生最多的植株去采摘它的花生;然后再找出剩下的植株
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int M, N, K;
cin >> M >> N >> K;
vector<vector<int>> peanuts(M, vector<int>(N));
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
cin >> peanuts[i][j];
}
}
vector<int> maxPeanuts(N);
for (int i = 0; i < M; i++) {
vector<int> temp(N);
for (int j = 0; j < N; j++) {
temp[j] = peanuts[i][j];
}
sort(temp.begin(), temp.end(), greater<int>());
for (int j = 0; j < N; j++) {
maxPeanuts[j] += temp[j];
}
}
sort(maxPeanuts.begin(), maxPeanuts.end(), greater<int>());
int maxSum = 0;
for (int i = 0; i < min(K, M); i++) {
maxSum += maxPeanuts[i];
}
cout << maxSum << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/i7AP 著作权归作者所有。请勿转载和采集!