whenever

  • Home

  • Tags21

  • Categories6

  • Archives122

  • About

PAT乙级1092 || 最好吃的月饼(详解,C/C++示例,测试点分析)

Posted on 2020-01-16 In PAT

最好吃的月饼

题目描述

月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。

mk.jpg

若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。

输入格式

输入首先给出两个正整数 N(≤1000)和 M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到 N 编号)和参与统计的城市数量。

接下来 M 行,每行给出 N 个非负整数(均不超过 1 百万),其中第 i 个整数为第 i 种月饼的销量(块)。数字间以空格分隔。

输出格式

在第一行中输出最大销量,第二行输出销量最大的月饼的种类编号。如果冠军不唯一,则按编号递增顺序输出并列冠军。数字间以 1 个空格分隔,行首尾不得有多余空格。

输入样例

1
2
3
4
5 3
1001 992 0 233 6
8 0 2018 0 2008
36 18 0 1024 4

输出样例

1
2
2018
3 5

问题解决

解题思想

输入的同时统计每种月饼的销量,然后找出销量最大的月饼,输出销量,最后按最大销量升序输出月饼种类号即可,用vector很容易实现。

坑点提醒

None

代码示例(C/C++)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <vector>

using namespace std;

int main() {
int n, m;
cin >> n >> m;
vector <int> vi(n); //指定长度并自动初始化为0
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
int tmp;
cin >> tmp;
vi[j] += tmp;
}
}
int max_value = vi[0];
for (int i = 1; i < n; i++) {
if (max_value < vi[i]) {
max_value = vi[i];
}
}
cout << max_value << endl;
int flag = 1;
for (int i = 0; i < n; i++) { //升序输出
if (max_value == vi[i]) {
if (flag) {
cout << i + 1;
flag = 0;
}
else {
cout << " " << i + 1;
}
}
}
return 0;
}

题目来源:PAT乙级1092
作者:CHEN, Yue
单位:浙江大学

稀罕作者
Mengzhao Wang WeChat Pay

WeChat Pay

Mengzhao Wang Alipay

Alipay

# C/C++ # PAT # 编程
PAT乙级1091 || N-自守数(详解,C/C++示例,测试点分析)
PAT乙级1093 || 字符串A+B(详解,C/C++示例,测试点分析)
  • Table of Contents
  • Overview
Mengzhao Wang

Mengzhao Wang

Try? All the way !
122 posts
6 categories
21 tags
  1. 1. 最好吃的月饼
    1. 1.1. 题目描述
    2. 1.2. 输入格式
    3. 1.3. 输出格式
    4. 1.4. 输入样例
    5. 1.5. 输出样例
    6. 1.6. 问题解决
      1. 1.6.1. 解题思想
      2. 1.6.2. 坑点提醒
      3. 1.6.3. 代码示例(C/C++)
© 2021 Mengzhao Wang