1128 N Queens Puzzle (20 分)难度: 一般 / 知识点: 模拟
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1128 N Queens Puzzle (20 分)难度: 一般 / 知识点: 模拟相关的知识,希望对你有一定的参考价值。
https://pintia.cn/problem-sets/994805342720868352/problems/994805348915855360
- 每一个点只会出现一次
- 任意俩点的横距离和总距离的差不会相等
#include<bits/stdc++.h>
using namespace std;
const int N=10010;
int a[N],n,t;
bool check()
int cnt[N]=0;
for(int i=1;i<=n;i++)
if(cnt[a[i]]) return false;
for(int j=i+1;j<=n;j++)
if(abs(i-j)==abs(a[i]-a[j])) return false;
cnt[a[i]]++;
return true;
int main(void)
scanf("%d",&t);
while(t--)
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
if(check()) puts("YES");
else puts("NO");
return 0;
以上是关于1128 N Queens Puzzle (20 分)难度: 一般 / 知识点: 模拟的主要内容,如果未能解决你的问题,请参考以下文章
1128 N Queens Puzzle (20 分)难度: 一般 / 知识点: 模拟
N Queens Puzzle - 此解决方案中的回溯在哪里?