一、题目概述
分别判断给定的棋盘布局是否是N皇后谜题一个解。
N皇后谜题解的标准:棋盘上任两个皇后不同行、不同列、不同对角线。
二、思路
略;
三、代码
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int K;
scanf("%d", &K);
for( int i = 0, N, flag; i < K; ++i )
{
scanf("%d", &N);
vector<int> a(N + 1);
flag = 1;
for( int i = 1; i <= N; ++i )
{
scanf("%d", &a[i]);
for( int j = 1; j < i; ++j )
if( abs(j - i) == abs(a[j] - a[i]) || a[j] == a[i] )
flag = 0;
}
printf("%s\n", flag ? "YES":"NO");
}
}