Meu professor do Precalc tem um dos seus problemas favoritos que ele inventou (ou mais provavelmente roubou inspirado no xkcd ) que envolve uma fileira de nmictórios. "Xeque-mate" é uma situação em que todo mictório já está ocupado OU possui um mictório próximo a eles. Por exemplo, se uma pessoa é uma X, então
X-X--X
é considerado xeque-mate. Observe que uma pessoa não pode ocupar um urinol próximo a um urinol já ocupado.
Tarefa
Seu programa analisará um número stdin, argumentos de linha de comando ou um argumento de função. Seu programa imprimirá ou retornará o número de maneiras pelas quais o xeque-mate pode ocorrer com o número digitado de mictórios.
Exemplos
0 -> 1(as contagens de casos nula como checkmate)
1 -> 1( X)
2 -> 2( X-ou -X)
3 -> 2( X-Xou -X-)
4 -> 3( X-X-, -X-X, ou X--X)
5 -> 4( X-X-X, X--X-, -X-X-, ou -X--X)
6 -> 5( X-X-X-, X--X-X, X-X--X, -X--X-ou -X-X-X)
7 -> 7( X-X-X-X, X--X-X-, -X-X--X, -X--X-X, X-X--X-, X--X--Xou -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-)
...
Pontuação
O menor programa em bytes vence.
''. É o mesmo que com fatorial e permutações, 0! = 1, porque existe exatamente uma maneira de organizar 0 itens.