#include <stdio.h>
#define N 4
// İki vezirin bir-birini təhdid etmədiyini yoxlayır
int safe(int r1, int c1, int r2, int c2) {
return r1 != r2 && c1 != c2 && (r1 - r2) != (c1 - c2) && (r1 - r2) != (c2 - c1);
}
int main() {
int count = 0;
// Bütün mümkün 2 vezir yerləşdirmələrini yoxlayırıq
for (int r1 = 0; r1 < N; r1++) {
for (int c1 = 0; c1 < N; c1++) {
for (int r2 = 0; r2 < N; r2++) {
for (int c2 = 0; c2 < N; c2++) {
if (safe(r1, c1, r2, c2)) {
count++;
}
}
}
}
}
// Hər cüt iki dəfə sayılıb, ona görə 2-yə bölürük
printf("4x4 taxtada 2 veziri yerləşdirməyin yolları: %d\n", count
/ 2);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE4gNAoKLy8gxLBraSB2ZXppcmluIGJpci1iaXJpbmkgdMmZaGRpZCBldG3JmWRpeWluaSB5b3hsYXnEsXIKaW50IHNhZmUoaW50IHIxLCBpbnQgYzEsIGludCByMiwgaW50IGMyKSB7CiAgICByZXR1cm4gcjEgIT0gcjIgJiYgYzEgIT0gYzIgJiYgKHIxIC0gcjIpICE9IChjMSAtIGMyKSAmJiAocjEgLSByMikgIT0gKGMyIC0gYzEpOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBjb3VudCA9IDA7CgogICAgLy8gQsO8dMO8biBtw7xta8O8biAyIHZlemlyIHllcmzJmcWfZGlybcmZbMmZcmluaSB5b3hsYXnEsXLEsXEKICAgIGZvciAoaW50IHIxID0gMDsgcjEgPCBOOyByMSsrKSB7CiAgICAgICAgZm9yIChpbnQgYzEgPSAwOyBjMSA8IE47IGMxKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgcjIgPSAwOyByMiA8IE47IHIyKyspIHsKICAgICAgICAgICAgICAgIGZvciAoaW50IGMyID0gMDsgYzIgPCBOOyBjMisrKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHNhZmUocjEsIGMxLCByMiwgYzIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8vIEjJmXIgY8O8dCBpa2kgZMmZZsmZIHNhecSxbMSxYiwgb25hIGfDtnLJmSAyLXnJmSBiw7Zsw7xyw7xrCiAgICBwcmludGYoIjR4NCB0YXh0YWRhIDIgdmV6aXJpIHllcmzJmcWfZGlybcmZeWluIHlvbGxhcsSxOiAlZFxuIiwgY291bnQgLyAyKTsKCiAgICByZXR1cm4gMDsKfQ==