Tutte le sfide
Media 0 risolte 0% di accettazione

Due Cavalieri Non Attaccanti

Conta le disposizioni sicure di due cavalieri per ogni dimensione di scacchiera quadrata.

Per ogni dimensione di scacchiera k da 1 a n, conta le coppie non ordinate di caselle distinte su una scacchiera k per k in cui due cavalieri non possono attaccarsi a vicenda. Un cavaliere si muove di due caselle in un asse e di una nell'altro.

. x . x .
x . . . x
. . K . .
x . . . x
. x . x .

K indica un cavaliere e x le sue possibili destinazioni, quando quelle caselle si trovano sulla scacchiera. Scambiare i due cavalieri non genera una nuova disposizione.

Implementa two_knights(n).

Input

n: La dimensione massima della scacchiera da considerare.

Output

Restituisci n conteggi in ordine, per le dimensioni della scacchiera da 1 a n.

Vincoli

1 ≤ n ≤ 10.000. I conteggi rientrano nei numeri interi con segno a 64 bit.

Esempi

Esempio 1
Input:
n = 3

Output atteso:
expected = [0, 6, 28]
Input:
long long n = 3;

Output atteso:
std::vector<long long> expected = {0, 6, 28};
Input:
long n = 3;

Output atteso:
long[] expected = new long[] {0, 6, 28};

Spiegazione

Una scacchiera 1 × 1 non può contenere due cavalieri. Una scacchiera 2 × 2 ha sei coppie e nessun attacco. Una scacchiera 3 × 3 ha 36 coppie, di cui otto si attaccano, lasciandone 28.

Esempio 2
Input:
n = 1

Output atteso:
expected = [0]
Input:
long long n = 1;

Output atteso:
std::vector<long long> expected = {0};
Input:
long n = 1;

Output atteso:
long[] expected = new long[] {0};

Spiegazione

Sono richieste due caselle distinte, ma la scacchiera ne ha solo una.

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.