菜就多练

取名不要太长,像我这样刚刚好  •  5个月前


include <bits/stdc++.h>

using namespace std;

struct node {

int x, y, d;

} hs[505];

bool Cmp(node a, node b) {

return a.d > b.d;

}

int main() {

int n, m, t;
cin >> n >> m >> t;
int cnt = 1;
for (int i = 1; i <= n; i++) {
	for (int j = 1; j <= m; j++) {
		int a;
		cin >> a;
		if (a != 0) {
			hs[cnt].x = i;
			hs[cnt].y = j;
			hs[cnt].d = a;
			cnt++;
		}
	}
}
sort(hs + 1, hs + 1 + cnt, Cmp);
int num = 1, sum = 0, time = 0;
for (int i = 1; i < cnt; i++) {
	num = hs[i].x;
	if (i == 1)
		time = hs[i].x + 1;
	else
		time += abs(hs[i].x - hs[i - 1].x) + abs(hs[i].y - hs[i - 1].y) + 1;
	if (time + num <= t)
		sum += hs[i].d;
}
cout << sum;
return 0;

}


评论:

请先登录,才能进行评论