fundo
Nas linguagens de programação mais razoáveis, é muito fácil girar as linhas ou colunas de uma matriz 2D. Nesse desafio, sua tarefa é girar as antiagonais . Lembre-se de que as antiagonais de uma matriz 2D são suas fatias 1D tiradas na direção nordeste ↗.
Entrada
Uma matriz 2D retangular não vazia de números de um dígito em qualquer formato razoável. Observe que a matriz pode não ser um quadrado.
Saída
A mesma matriz, mas com cada anti-diagonal girado um passo para a direita.
Exemplo
Considere a 3x4
matriz de entrada
0 1 2 3
4 5 6 7
8 9 0 1
As antiagonais dessa matriz são
0
4 1
8 5 2
9 6 3
0 7
1
Suas versões rotacionadas são
0
1 4
2 8 5
3 9 6
7 0
1
Assim, a saída correta é
0 4 5 6
1 8 9 0
2 3 7 1
Regras e pontuação
Você pode escrever um programa completo ou uma função. Também é aceitável escrever uma função que modifique a matriz de entrada, se o seu idioma permitir. A menor contagem de bytes vence e as brechas padrão não são permitidas.
Entre os melhores
Aqui está um snippet de pilha para gerar uma classificação regular e uma visão geral dos vencedores por idioma.
Para garantir que sua resposta seja exibida, inicie-a com um título, usando o seguinte modelo de remarcação:
## Language Name, N bytes
onde N
está o tamanho do seu envio. Se você deseja incluir vários números no seu cabeçalho (por exemplo, porque sua pontuação é a soma de dois arquivos, ou você deseja listar as penalidades do sinalizador de intérpretes separadamente ou deseja mostrar as pontuações antigas que melhorou), verifique se a pontuação real é o último número no cabeçalho.
Casos de teste adicionais
Input:
4
Output:
4
Input:
5 6 1
Output:
5 6 1
Input:
0 1
6 2
Output:
0 6
1 2
Input:
6 3 0 8
4 6 1 4
6 2 3 3
9 3 0 3
Output:
6 4 6 1
3 6 2 3
0 9 3 0
8 4 3 3
Input:
5 8 2
6 7 3
2 6 1
6 0 6
6 4 1
Output:
5 6 7
8 2 6
2 6 0
3 6 4
1 6 1
Input:
9 9 4 0 6 2
2 3 2 6 4 7
1 5 9 3 1 5
0 2 6 0 4 7
Output:
9 2 3 2 6 4
9 1 5 9 3 1
4 0 2 6 0 4
0 6 2 7 5 7