#include <stdio.h>
#define N 4
int board[N]; // i-ci sətrdəki vezirin sütunu
int count = 0;
// Təhlükəsizliyi yoxlayır
int safe(int row, int col, int placed_rows[]) {
for (int i = 0; i < row; i++) {
if (placed_rows[i] && (board[i] == col || (row - i) == (col - board[i]) || (row - i) == (board[i] - col)))
return 0;
}
return 1;
}
// Rekursiv yerləşdirmə
void solve(int row, int placed, int placed_rows[]) {
if (placed == 3) { // 3 vezir yerləşdirildi
count++;
return;
}
if (row == N) return; // artıq sətr yoxdursa geri dön
for (int col = 0; col < N; col++) {
if (safe(row, col, placed_rows)) {
board[row] = col;
placed_rows[row] = 1; // bu sətrdə vezir qoyuldu
solve(row + 1, placed + 1, placed_rows);
placed_rows[row] = 0; // geri çək
}
}
// Bu sətrdə heç vezir qoymadan növbəti sətrə keç
solve(row + 1, placed, placed_rows);
}
int main() {
int placed_rows[N] = {0};
solve(0, 0, placed_rows);
printf("4x4 taxtada 3 veziri yerləşdirməyin yolları: %d\n", count
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE4gNAppbnQgYm9hcmRbTl07IC8vIGktY2kgc8mZdHJkyZlraSB2ZXppcmluIHPDvHR1bnUKaW50IGNvdW50ID0gMDsKCi8vIFTJmWhsw7xryZlzaXpsaXlpIHlveGxhecSxcgppbnQgc2FmZShpbnQgcm93LCBpbnQgY29sLCBpbnQgcGxhY2VkX3Jvd3NbXSkgewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCByb3c7IGkrKykgewogICAgICAgIGlmIChwbGFjZWRfcm93c1tpXSAmJiAoYm9hcmRbaV0gPT0gY29sIHx8IChyb3cgLSBpKSA9PSAoY29sIC0gYm9hcmRbaV0pIHx8IChyb3cgLSBpKSA9PSAoYm9hcmRbaV0gLSBjb2wpKSkKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKLy8gUmVrdXJzaXYgeWVybMmZxZ9kaXJtyZkKdm9pZCBzb2x2ZShpbnQgcm93LCBpbnQgcGxhY2VkLCBpbnQgcGxhY2VkX3Jvd3NbXSkgewogICAgaWYgKHBsYWNlZCA9PSAzKSB7IC8vIDMgdmV6aXIgeWVybMmZxZ9kaXJpbGRpCiAgICAgICAgY291bnQrKzsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAocm93ID09IE4pIHJldHVybjsgLy8gYXJ0xLFxIHPJmXRyIHlveGR1cnNhIGdlcmkgZMO2bgoKICAgIGZvciAoaW50IGNvbCA9IDA7IGNvbCA8IE47IGNvbCsrKSB7CiAgICAgICAgaWYgKHNhZmUocm93LCBjb2wsIHBsYWNlZF9yb3dzKSkgewogICAgICAgICAgICBib2FyZFtyb3ddID0gY29sOwogICAgICAgICAgICBwbGFjZWRfcm93c1tyb3ddID0gMTsgLy8gYnUgc8mZdHJkyZkgdmV6aXIgcW95dWxkdQogICAgICAgICAgICBzb2x2ZShyb3cgKyAxLCBwbGFjZWQgKyAxLCBwbGFjZWRfcm93cyk7CiAgICAgICAgICAgIHBsYWNlZF9yb3dzW3Jvd10gPSAwOyAvLyBnZXJpIMOnyZlrCiAgICAgICAgfQogICAgfQogICAgLy8gQnUgc8mZdHJkyZkgaGXDpyB2ZXppciBxb3ltYWRhbiBuw7Z2YsmZdGkgc8mZdHLJmSBrZcOnCiAgICBzb2x2ZShyb3cgKyAxLCBwbGFjZWQsIHBsYWNlZF9yb3dzKTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgcGxhY2VkX3Jvd3NbTl0gPSB7MH07CiAgICBzb2x2ZSgwLCAwLCBwbGFjZWRfcm93cyk7CiAgICBwcmludGYoIjR4NCB0YXh0YWRhIDMgdmV6aXJpIHllcmzJmcWfZGlybcmZeWluIHlvbGxhcsSxOiAlZFxuIiwgY291bnQpOwogICAgcmV0dXJuIDA7Cn0=