En primer lugar, ver OEIS para una lista de números. E. g. Secuencia A172132 cuenta el número de maneras de colocar 2 nonattacking caballeros en un $n\times n$ junta. Nota: este sitio debe estar entre los primeros (además de Google) que usted debe visitar cuando usted tiene un problema combinatorio (como la cuenta).
En segundo lugar, no tengo cerrada "fórmula" para este problema, pero en un algoritmo que se debe trabajar para la entrada de los límites. Dado que el problema es el de un ACM/ICPC naturaleza, supongo que estaría satisfecho con un algoritmo que (cuando se implementa correctamente) daría la respuesta en un tiempo razonable.
Mi algoritmo de programación dinámica (Algunos prefieren "recursividad", porque no es la optimización involucrados. Yo no distinguir aquí.).
Deje $f[i,j,v_{last},v_{second\_last}]$ denotar el número de maneras de colocar $j$ no atacar a los caballeros en la primera $i$ filas de la $n\times n$ junta con la última y la penúltima fila con los estados denotado por $v_{last}$$v_{second\_last}$. Esas son dos de bits en vectores, con 1 siendo un caballero. Así que una fila con dos caballeros en el 2º y el 5º de la célula al $n=5$ será denotado como 01001.
Así que la parte más importante sería la ecuación (estado de transición de la ecuación)
$$
f[i,j,v_{pasado},v_{segundo\_last}] = \sum_{v_{tercer\_last}}f[i-1,j-\operatorname{popcount}(v_{pasado}),v_{segundo\_last},v_{tercer\_last}]
$$ where $\operatorname{popcount}(v)$ is the number of 1's in bit-vector $v$.
Nota los tres vectores deben de ser coherente (no atacar).
Hay, a continuación, $N M 2^{2M}$ estados, y la transición se lleva a otro $2^M$ tiempo, de manera que el algoritmo (si se aplica correctamente) tiene un tiempo de complejidad de $O(N M 2^{3M})$. El obligado no es firme, ya que hay muchas combinaciones no válidas de vectores.