专栏文章

题解:CF690E1 Photographs (I)

CF690E1题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miojf7m3
此快照首次捕获于
2025/12/02 20:11
3 个月前
此快照最后确认于
2025/12/02 20:11
3 个月前
查看原文

题目大意

给定一张 n×mn \times m 的黑白照片,让你判断图片是否被处理过。

思路

不难发现,被处理过的图片的第 n2\left \lfloor \frac{n}{2} \right \rfloor 行与第 n2+1\left \lfloor \frac{n}{2} \right \rfloor +1 行的差异较大,而未被处理过的图片的第 11 行与第 nn 行差异较大。我们只需比较n2\left \lfloor \frac{n}{2} \right \rfloor 行与第 n2+1\left \lfloor \frac{n}{2} \right \rfloor +1 行的差异11 行与第 nn 行差异即可。

代码

CPP
#include <bits/stdc++.h>
using namespace std;

const int N = 605;
int T, n, m, a[N][N];

int check(int x, int y) {
	int sum = 0;
	for (int i = 1; i <= m; i++) sum += abs(a[x][i] - a[y][i]);
	return sum;
}

int main() {
	cin.tie(0), cout.tie(0);
	cin >> T;
	while (T--) {
		cin >> n >> m;
		for (int i = 1; i <= n; i++)
			for (int j = 1; j <= m; j++) cin >> a[i][j];
		cout << (check(1, n) < check(n / 2, n / 2 + 1) ? "YES" : "NO") << "\n";
	}
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...