#include <stdio.h>
#include <math.h>
int area[13], count = 0;
int cek(int row, int column)
{
int i;
for (i = 1; i <= row - 1; ++i)
{
if (area[i] == column)
return 0;
else if (abs(area
[i
] - column
) == abs(i
- row
)) return 0;
}
return 1;
}
void bomb(int row, int n)
{
int column = 0;
for (column = 1; column <= n; ++column)
{
if (cek(row, column))
{
area[row] = column;
if (row == n)
++count;
else
bomb(row + 1, n);
}
}
}
int main()
{
int n;
bomb(1, n);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CmludCBhcmVhWzEzXSwgY291bnQgPSAwOwppbnQgY2VrKGludCByb3csIGludCBjb2x1bW4pCnsKICAgIGludCBpOwogICAgZm9yIChpID0gMTsgaSA8PSByb3cgLSAxOyArK2kpCiAgICB7CiAgICAgICAgaWYgKGFyZWFbaV0gPT0gY29sdW1uKQogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBlbHNlIGlmIChhYnMoYXJlYVtpXSAtIGNvbHVtbikgPT0gYWJzKGkgLSByb3cpKQogICAgICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHJldHVybiAxOwp9CnZvaWQgYm9tYihpbnQgcm93LCBpbnQgbikKewogICAgaW50IGNvbHVtbiA9IDA7CiAgICBmb3IgKGNvbHVtbiA9IDE7IGNvbHVtbiA8PSBuOyArK2NvbHVtbikKICAgIHsKICAgICAgICBpZiAoY2VrKHJvdywgY29sdW1uKSkKICAgICAgICB7CiAgICAgICAgICAgIGFyZWFbcm93XSA9IGNvbHVtbjsKICAgICAgICAgICAgaWYgKHJvdyA9PSBuKQogICAgICAgICAgICAgICAgKytjb3VudDsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgYm9tYihyb3cgKyAxLCBuKTsKICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIHNjYW5mKCIlZCIsICZuKTsKICAgIGJvbWIoMSwgbik7CiAgICBwcmludGYoIiVkIiwgY291bnQpOwogICAgcmV0dXJuIDA7Cn0=