Mi maestro de Precalc tiene uno de sus problemas favoritos que inventó (o más probablemente robó inspirado por xkcd ) que involucra una fila de nurinarios. "Jaque mate" es una situación en la que cada urinario ya está ocupado O tiene un urinario ocupado junto a ellos. Por ejemplo, si una persona es un X, entonces
X-X--X
se considera jaque mate. Tenga en cuenta que una persona no puede ocupar un orinal junto a un orinal ya ocupado.
Tarea
Su programa tomará un número stdin, argumentos de línea de comando o un argumento de función. Luego, su programa imprimirá o devolverá la cantidad de formas en que el jaque mate puede ocurrir con la cantidad ingresada de urinarios.
Ejemplos
0 -> 1(el caso nulo cuenta como jaque mate)
1 -> 1( X)
2 -> 2( X-o -X)
3 -> 2( X-Xo -X-)
4 -> 3( X-X-, -X-Xo X--X)
5 -> 4( X-X-X, X--X-, -X-X-, o -X--X)
6 -> 5( X-X-X-, X--X-X, X-X--X, -X--X-o -X-X-X)
7 -> 7( X-X-X-X, X--X-X-, -X-X--X, -X--X-X, X-X--X-, X--X--Xo -X-X-X-)
8 -> 9( -X--X--X, -X--X-X-, -X-X--X-, -X-X-X-X, X--X--X-, X--X-X-X, X-X--X-X, X-X-X--X, X-X-X-X-)
...
Tanteo
El programa más pequeño en bytes gana.
''. Esto es lo mismo que con factorial y permutaciones, 0! = 1, porque hay exactamente 1 forma de organizar 0 elementos.