问题 A: 和最大

发布时间:2024年01月06日
题目描述

在N行M列的正整数矩阵中,要求从每行中选出1个数,使得选出的总共N个数的和最大。

已知1< =N< =10,? 1< =M< =10

输入

输入数据有多行,第一行是矩阵的行数N和列数M

接下来的N行M列为输入数据(正整数,不超过10000)

输出

输出N行元素和的最大值。

样例输入?Copy
3 3
1 2 3
4 5 6
7 8 9
样例输出?Copy
18

问题分析

想要n行元素和最大,也就是每行取最大,那最后每行最大的求和就可以使得n行元素和最大

预备知识

INT_MAX 是一个宏,代表了 int 类型可以表示的最大正整数值

代码实现

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n,m;
    cin>>n>>m;
    int ans=0,sz,zd; //ans就是N行元素和地最大值,sz是每次输入的数,zd存每行的最大值
    for(int i=0;i<n;i++) {
        zd=INT_MIN; //每次都先将这个置为最小
        for(int j=0;j<m;j++) {
            cin>>sz;
            zd=max(zd,sz); //求出每行最大
        }
        ans+=zd; //把每行的最大值加到ans中
    }
    cout<<ans; //输出n行和最大值
}

文章来源:https://blog.csdn.net/lcc1737/article/details/135421584
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。