Dados dois números inteiros positivos, 'a' e 'b', saída de uma "caixa" ascii-art que é um caracteres de largura e b caracteres de altura. Por exemplo, com '4' e '6':
****
* *
* *
* *
* *
****
Simples né? Aqui está o detalhe: a borda da caixa deve ter os caracteres "a" e "b" alternados. Isso começa no canto superior esquerdo e continua em espiral no sentido horário. Por exemplo, o exemplo anterior com 4 e 6 deve ser
4646
6 4
4 6
6 4
4 6
6464
A e B podem ser números de dois dígitos. Por exemplo, as entradas "10" e "3" devem gerar isso:
1031031031
1 0
3013013013
Para manter a saída relativamente pequena, você não precisa suportar números de três ou mais dígitos. Além disso, como as entradas são restritas a números inteiros positivos , '0' é uma entrada inválida, que você não precisa manipular.
Aqui estão mais alguns casos de teste:
Input: (3, 5)
Output:
353
5 5
3 3
5 5
353
Input: (1, 1)
Output:
1
Input: (4, 4)
Output:
4444
4 4
4 4
4444
Input: (27, 1)
Output:
271271271271271271271271271
Input: (1, 17)
Output:
1
1
7
1
1
7
1
1
7
1
1
7
1
1
7
1
1
Input: (12, 34):
Output:
123412341234
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
432143214321
Você pode receber entrada e saída em qualquer formato razoável, e as brechas padrão são proibidas. Como se trata de código-golfe, a resposta mais curta em bytes vence!
a
for 1, é a parede esquerda ou a parede direita?