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

公众号:计算机黑科学大全
【欢迎关注微信公众号:计算机黑科学大全,在对话框回复:PAT乙级真题】获取全部真题详解及代码示例,邀请大家加入PAT算法刷题交流qq群:821388108
个人博客:https://mzwang.top

最好吃的月饼

题目描述:

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

mk.jpg

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

输入格式:

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

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

输出格式:

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

输入样例:

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

输出样例:

2018
3 5

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

问题解决:

解题思想

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

坑点提醒

None

代码示例(C/C++)

小提示:请将以下代码保存为.cpp格式(C++程序)左右滑动代码以查看完整代码(复制本文链接到电脑端浏览效果更佳)

#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;
}

微信号:QKD2015WMZ

发布了95 篇原创文章 · 获赞 3 · 访问量 3828
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览