Posted on 2011-09-22 00:52
kalvinyZhang 阅读(135)
评论(0) 编辑 收藏 引用 所属分类:
OJ
贪心算法,我不知道呀,直接就上了,先这样刷着吧,以后可能就会熟悉。要学习的点是实现多维数组的行和列分别排序
#include <stdio.h>
#define MAX 10000
int main()
{
int n, i, j, min, sum = 0;
int s[8][MAX];
int t[MAX];
scanf("%d", &n);
for (i = 0; i <= 7; i++) {
for (j = 0; j < n; j++)
scanf("%d", &s[i][j]);
}
min = s[0][0];
for (j = 0; j < n; j++) {
for (i = 0; i < 8; i++) { //寻找二维数组每列的最小值
if (s[i][j] <= min) {
min = s[i][j];
t[j] = min;
}
}
min = s[0][j+1]; //每一列定位的最小值,就是每列的第一个元素
}
for (i = 0; i < n; i++) {
sum = sum + t[i];
}
printf("%d\n", sum);
return 0;
}