1868 - Espiral Quadrada
- ID: 1868
- IdBecrowd: 1868
- Tags: ad-hoc, strings
- Nível: 6
- Tempo Limite: 1 segundos
- Memória: 200 MB
- Categoria: Ad-Hoc
- Autor: Cristhian Bonilha, UTFPR
Descrição
A empresa Animações Livres de Falhas, ou ALF, realiza as mais diversas animações usando apenas caracteres na tela. Um dia, foram desafiados a fazer uma animação de uma Espiral Quadrada. Esta deverá proceder da seguinte forma:
*Sempre exibirá uma tabela quadrada, com N linhas e N colunas, com um caractere em seu respectivo lugar, sem espaços entre os mesmos;
*Esta quantidade N será sempre ímpar;
*O primeiro quadro desta animação será com um caractere ‘X’ no centro da tabela e o restante da mesma ocupado com caracteres ‘O’;
*Nos quadros seguintes, o caractere ‘X’ será deslocado para os outros locais da tabela, substituindo onde o mesmo estava com ‘O’, exibindo sempre uma vez o ‘X’ em cada quadro. O deslocamento será no formato de uma espiral quadrada, realizando o deslocamento para direita, para cima, para esquerda e para baixo. Veja um exemplo de todos os quadros da animação com N = 5:
Escreva um programa que, dado um número inteiro, imprima todos os quadros da animação da espiral quadrada.
Entrada
Haverá diversos casos de teste. Cada caso de teste inicia com um inteiro N (1 ≤ N ≤ 25), indicando o tamanho da tela.
O último caso de teste é indicado quando N = 0, sendo que este caso não deverá ser processado.
Saída
Para cada caso de teste imprima N x N tabelas, cada uma separada com um ‘@’, seguindo as regras da animação como descritas anteriormente.
Exemplos
Exemplo de Entrada
3
1
0
Exemplo de Saída
OOO
OXO
OOO
@
OOO
OOX
OOO
@
OOX
OOO
OOO
@
OXO
OOO
OOO
@
XOO
OOO
OOO
@
OOO
XOO
OOO
@
OOO
OOO
XOO
@
OOO
OOO
OXO
@
OOO
OOO
OOX
@
X
@
