贪心算法1

贪心理解题

1.在N行M列的正整数矩阵中,要求从每行中选出1个数,
使得选出的总共N个数的和最大。
输入:
           第一行两个正整数N和M,用空格隔开,表示行数和列数 
           第2行到第N+1行,每行M个用空格隔开的整数 ,表示矩阵 
输出       最大总和

分析:求最大总和,可以分解成每一行取最大的数,这样N行下来总和一定是最大的

代码

#include<iostream>
using namespace std;
int main()
{
	int N,M,maxn,t,sum=0;
	scanf("%d%d",&N,&M);
	for(int i=0;i<N;i++)
	{
		scanf("%d",&maxn);
		for(int j=1;j<M;j++)
		{
			scanf("%d",&t);
			if(t>maxn)
				maxn=t;
		}
		sum+=maxn;
	}
	printf("%d\n",sum);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43965640/article/details/88044154