目录
1,题目描述
Sample Input:
4
8 4 6 8 2 7 1 3 5
9 4 6 7 2 8 1 9 5 3
6 1 5 2 6 4 3
5 1 3 5 2 4
Sample Output:
YES
NO
NO
YES
题目大意
判断N个皇后的布局是否正确(极简版八皇后问题);
2,思路
(只需要判断即可)
先按最简单的暴力试一波
然后就通过了。
3,AC代码
赤裸裸的O(N^2)本以为会超时,然而并没有,哈哈哈。
#include<bits/stdc++.h>
using namespace std;
int data[1001];
bool judge(int len){
for(int i = 1; i <= len; i++){
for(int j = 1; j < i; j++){
if(data[i] == data[j] || abs(j-i) == abs(data[j]-data[i]))
return false;
}
}
return true;
}
int main(){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt", "r", stdin);
#endif // ONLINE_JUDGE
int K, N;
cin>>K;
for(int i = 0; i < K; i++){
scanf("%d", &N);
for(int j = 1; j <= N; j++)
scanf("%d", &data[j]);
bool flag = judge(N);
printf("%s\n", flag==true ? "YES":"NO");
}
return 0;
}
4,解题过程
一发入魂o(* ̄▽ ̄*)ブ