1128 N Queens Puzzle (20 分)

水~。

const int N=1010;
int row[N];
int n;

bool check(int x,int y)
{
    for(int i=1;i<y;i++)
        if(row[i] == x || abs(x-row[i]) == y-i)
            return false;
    return true;
}

int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        cin>>n;

        bool ok=true;
        for(int i=1;i<=n;i++)
        {
            cin>>row[i];
            if(!check(row[i],i))
                ok=false;
        }

        if(ok) puts("YES");
        else puts("NO");
    }
    //system("pause");
    return 0;
}
posted @ 2021-03-05 21:31  Dazzling!  阅读(40)  评论(0编辑  收藏  举报