CSES - Shakkipulma

Tehtäväsi on laskea, monellako tavalla n \times n -shakkilaudalle voidaan sijoittaa kuningatar ja ratsu siten, että kumpikaan nappula ei uhkaa toista.

Esimerkiksi kun n=4, yksi mahdollinen tapa on seuraava:

Voit olettaa, että n on enintään 20.

Python

Toteuta tiedostoon queenknight.py funktio count, joka antaa tapojen määrän.

def count(n):
    # TODO

if __name__ == "__main__":
    print(count(3)) # 0
    print(count(4)) # 40
    print(count(5)) # 184

Java

Toteuta tiedostoon QueenKnight.java funktio count, joka antaa tapojen määrän.

public class QueenKnight {
    public int count(int n) {
        // TODO
    }
    
    public static void main(String[] args) {
        QueenKnight q = new QueenKnight();
        System.out.println(q.count(3)); // 0
        System.out.println(q.count(4)); // 40
        System.out.println(q.count(5)); // 184
    }
}