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;
}