AcWing 1621. N 皇后问题
原题链接
简单
作者:
Cecily0618
,
2025-03-25 12:44:27
·重庆
,
所有人可见
,
阅读 3
#include <stdio.h>
#include <math.h>
int isValid(int queens[], int n) {
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (queens[i] == queens[j] || abs(queens[i] - queens[j]) ==abs(i-j)) {
return 0;
}
}
}
return 1;
}
int main() {
int K;
scanf("%d", &K);
while (K--) {
int N;
scanf("%d", &N);
int queens[1000];
for (int i = 0; i < N; i++) {
scanf("%d", &queens[i]);
}
if (isValid(queens, N)) {
printf("YES\n");
} else {
printf("NO\n");
}
}
return 0;
}