1128 N Queens Puzzle (20 分)

吓死我了_(:з」∠)_我还以为PAT含金量逐渐爆表以至于N皇后只值20分
#include <cstdio>
#include <vector>
#include <cstdlib>
using namespace std;
int main()
{
    int K;
    scanf("%d", &K);
    for( int i = 0, N, flag; i < K; ++i )
    {
        scanf("%d", &N);
        flag = 1;
        vector<int> A(N + 1), visited(N + 1);
        for( int j = 1; j <= N; ++j )
        {
            scanf("%d", &A[j]);
            if( visited[ A[j] ]++  )
                flag = 0;
        }
        for( int j = 1; j <= N && flag; ++j )
            for( int k = j + 1; k <= N && flag; ++k )
                if( abs( j - k ) == abs( A[j] - A[k] ) )
                    flag = 0;
        printf("%s\n", flag ? "YES":"NO");
    }
}

发布了152 篇原创文章 · 获赞 144 · 访问量 9242

猜你喜欢

转载自blog.csdn.net/qq_43749739/article/details/100166969