poj 1928 The Peanuts
来源:互联网 发布:数据库系统实现 mobi 编辑:程序博客网 时间:2024/04/30 13:51
//照着地图取花生,每次都是取最大的花生数,在限定的步数内,可以取到最多的花生数!用贪心就可以! #include "cstdio"#include "iostream"#include "math.h"using namespace std;int map[60][60];int main(){ int tc, m, n, k, i, j, totaltime, curi, curj, x, y, max, sum; scanf("%d", &tc); while (tc--) { scanf("%d%d%d", &m, &n, &k); totaltime = 0; for (i = 1; i <= m; i++) for (j = 1; j <= n; j++) scanf("%d", &map[i][j]); totaltime = 0, curi = 0, curj = 0, sum = 0; while (1) { max = 0; x = curi; y = curj; for (i = 1; i <= m; i++) for (j = 1; j <= n; j++) { if (max < map[i][j]) { max = map[i][j]; curi = i; curj = j; } } if (x == 0) y = curj; if (totaltime + abs((int)(curi-x)) + abs((int)(curj-y)) + 1 + curi <= k) { sum += max; totaltime += abs(int(curi - x)) + abs(int(curj-y)) + 1; map[curi][curj] = -1; x = curi; y = curj; } else { cout << sum << endl; break; } } } system("pause");}