[PAT]グレード1128 Nクイーンズパズル(20分)

質問の意味:

K個の入力ラインに続いてK整数正の(<= 200)、入力し、最初の数はN(<= 1000)、その後、全てのi番目の列の女王の行番号を表し、N個の整数(1〜N)が続いています女王は、すべての女王の出力がお互いを攻撃していないかどうか、ではありません。

騙す:

N ^ 2/2最後のテストポイントアウト、N ^ 2回タイムアウトしません。

AAAAAcceptedコード:

1  の#define HAVE_STRUCT_TIMESPEC
 2の#include <ビット/ STDC ++ H>
 3  使用して 名前空間STDを、
4  int型 A [ 1007 ]。
5  INT メイン(){
 6つの      IOS :: sync_with_stdio()。
7      cin.tie(NULL)。
8      cout.tie(NULL)。
9      INT トン。
10      cinを>> トン。
11      一方(t-- ){
 12          INT N。
13          CIN >> N。
14          INTフラグ= 0;
15          のためにINT iは= 1 ; iが<= N; ++ I){
 16              CIN >> [I]。
17              のためのint型 J = 1 ; J <I ++ {j)は
 18                  のint TEMP = I- J。
19                  INT X = [I] + TEMP。
20                  int型、Y = [I] - TEMP。
21                  であれば([J] == X || A [j] == Y || A [j] == [I])
 22                      フラグ= 1 23              }
 24          }
 25          であれば(フラグ)
26              裁判所未満<< " NO \ N " ;
27          他の
28              coutの<< " YES \ N " ;
29      }
 30      リターン 0 31 }

 

おすすめ

転載: www.cnblogs.com/ldudxy/p/12541659.html