ADA school#10271

ADA school (Editoriale)

Consideriamo il caso in cui una delle dimensioni della griglia è pari. Supponiamo, ad esempio, che (il numero di righe) sia pari. In questo caso, la permutazione degli studenti può essere eseguita nel modo seguente:

Se e sono entrambi dispari, allora eseguire la permutazione è impossibile.

Consideriamo la griglia colorata come una scacchiera: alcune celle sono bianche, altre nere. Quando un banco viene spostato, un banco che si trovava su una cella nera deve passare a una cella bianca, e viceversa. Perché la permutazione di tutti i banchi sia possibile, il numero di celle bianche e nere deve essere uguale. Di conseguenza, il numero totale di banchi deve essere pari.

Tuttavia, quando e sono dispari, il numero totale di banchi n \times m è un numero dispari, il che rende impossibile la permutazione.

Implementazione dell'algoritmo

Leggiamo il numero di test .

scanf("%d", &t);
while (t--)
{

Leggiamo i dati di input di ciascun test.

  scanf("%d %d", &n, &m);

Se e sono dispari, allora restituiamo la risposta "NO".

  if (n % 2 == 1 && m % 2 == 1)
    puts("NO");

Altrimenti restituiamo la risposta "YES".

  else
    puts("YES");
}