[PAT] Grado 1128 N Queens Puzzle (20 minutos)

Significado de las preguntas:

Introduzca un entero positivo K (<= 200), seguido por las líneas de entrada K, el primer número es N (<= 1,000), a continuación, seguido de N números enteros (1 ~ n) representa el número de línea de la i-ésima columna Queen, todo Reina no es una, si la salida de toda la reina no está atacan entre sí.

truco:

N ^ 2/2 no tiene tiempo de espera, N ^ 2 veces fuera el último punto de prueba.

AAAAAccepted código:

1  #define HAVE_STRUCT_TIMESPEC
 2 #include <bits / STDC ++ h.>
 3  usando  espacio de nombres std;
4  int a [ 1007 ];
5  int main () {
 6      ios :: sync_with_stdio ( falso );
7      cin.tie (NULL);
8      cout.tie (NULL);
9      int t;
10      cin >> t;
11      , mientras que (t-- ) {
 12          int n;
13          cin >> n;
14          int bandera = 0;
15          para ( int i = 1 ; i <= n; ++ i) {
 16              cin >> a [i];
17              para ( int j = 1 ; j <i; ++ j) {
 18                  int temp = i- j;
19                  int x = a [i] + temp;
20                  int y = a [i] - temp;
21                  si (a [j] == x || un [j] == y || un [j] == a [i])
 22                      flag = 1 ;
23              }
 24          }
 25          Si (bandera)
26              cout << " NO \ n " ;
27          otro 
28              cout << " SI \ n " ;
29      }
 30      de retorno  0 ;
31 }

 

Supongo que te gusta

Origin www.cnblogs.com/ldudxy/p/12541659.html
Recomendado
Clasificación