【HPU】[1439] 王小二的矩阵问题 HPU1439

点此尝试本题

题目描述

又是一道题意超级简单的题目:一个n*n的矩阵,求每一列的最小值之和。

比如:

3

1 8 9

4 6 7

2 5 3

结果:1+5+3=9.

输入

      多组测试数据,第一行一个整数n(0<n<100),接下来是一个n*n的矩阵A(0<A[i][j]<1000000000).

输出

      输出一个整数占一行,代表最小值之和。

样例输入

3
1 8 9
4 6 7
2 5 3

样例输出

9

提示

注意数据范围!

来源

Solution

    本题不难,主要对考察二维数组的理解。每一列进行比较时,固定列数不变,通过变化行数来比较出每一列的最小值 ,不是太理解的话,在纸上画图自己用笔模拟一下。

做任何题目时,仔细读题!仔细读题!继续加油吧。

Code

//a[i][j]:i固定,变化j,对每一行处理; 
//a[i][j]:j固定,变化i,对每一列处理; 

#include <cstdio>
#include <cstring>
#include <algorithm>//调用min的几个函数库
#include <cmath>
using namespace std;
typedef long long LL;
LL a[110][110];

int main() {
	int n;
	while(scanf("%d", &n) != EOF) {
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < n; j++) {
				scanf("%lld", &a[i][j]);
			}
		}
		LL minn, sum = 0; //结果超过int范围了; 
		for(int i = 0; i < n; i++) {
			minn = 1e10; //初始化 
			for(int j = 0; j < n; j++) {
				minn = min(minn, a[j][i]); //比较最小值函数 
			}
			sum += minn;
		}
		printf("%lld\n", sum);
	}
	return 0;
} 

2018-01-17 17:07:38
About | Past

基于 PPKCdaily
Copyright © HPUACM