算对角线错了,求调
查看原帖
算对角线错了,求调
553188
tin_ingot楼主2024/5/26 19:20
#include <iostream>
using namespace std;
const int N = 2e3 + 3;
int a[N][N];
int hang[N], lie[N];
int f[N], xie1, xie2;

int main() {
	int n, t;
	cin >> n >> t;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++)
			a[i][j] = (i - 1) * n + j;
	}
	for (int i = 1; i <= t; i++) {
		cin >> f[i];
		int h = (f[i] - 1) / n + 1, l = f[i] % n;
		hang[h]++;
		lie[l]++;
		if (l + h == n) {
			xie1++;
		}
		if (h - l + n == n) {
			xie2++;
		}
		if (xie1 == n || xie2 == n || hang[h] == n || lie[l] == n) {
			cout << i;
			return 0;
		}
	}
	puts("-1");
	return 0;
}
2024/5/26 19:20
加载中...