Futebol é o esporte em que os jogadores chutam a bola, não a carregam. Alguns indivíduos confusos podem chamar isso de futebol.
Um time de futebol tem um goleiro e 10 jogadores em campo. Existem muitas formações usadas no futebol, que determinam onde cada jogador deve estar (o jogador, é claro, se move, mas é a posição base).
A formação mais comum é o 4-4-2, o que significa que existem 4 defensores, 4 médios e dois atacantes. Outras formações são ("defensores, médios, atacantes" ou "defensores, médios, médios, atacantes"):
- 4-4-2
- 4-3-3
- 5-3-2
- 3-4-3
- 3-5-2
- 4-5-1
- 5-4-1
- 4-4-1-1
- 4-3-1-2
- 4-1-2-3
- 4-1-3-2
- 4-3-2-1
- 3-4-1-2
- 3-3-3-1
O desafio é pegar duas entradas, uma para cada uma das duas equipes e apresentar uma visão geral dos jogadores em campo.
Em geral: A maioria das informações sobre o layout da arte ASCII pode ser encontrada nas figuras (uma imagem diz mais que 1000 palavras). Apenas a maneira de colocar os 10 jogadores em campo é explicada em detalhes:
- O goleiro e a área de grande penalidade ocupam 3 linhas de caracteres ASCII
- O layout e o número de espaços podem ser encontrados na figura abaixo
- Não há linha em branco entre a área de grande penalidade e os defensores
- Se houver três números na formação (por exemplo, 4-4-2, 4-3-3 etc. Não 4-3-2-1):
- Não há fila em branco entre os zagueiros e os meio-campistas
- Há uma linha vazia entre os médios e os atacantes
- Se houver 4 números na formação (por exemplo, 4-3-2-1, 3-3-3-1, etc. Não 4-4-2):
- Não há linha vazia entre o zagueiro e a primeira linha de médios
- Não existe linha vazia entre a primeira linha dos médios e a segunda
- Não há fila vazia entre a segunda fila de médios e os atacantes
- Não há linhas vazias entre os atacantes e a linha central
- A equipe na metade superior está marcada como
x
e a equipe na segunda metade está marcada comoo
. - Cada fila de jogadores deve ser distribuída em campo, conforme mostrado nas figuras abaixo. O número de espaços pode ser visto na figura.
A figura a seguir não representa uma formação válida, mas é usada para ilustrar o layout e o número de espaços necessários entre cada jogador. A entrada para isso seria 2 3 4 5
e 5 4 2
:
+-----------------+
| | x | |
| +-----+ |
| x x |
| x x x |
| x x x x |
| x x x x x |
+-----------------+
| o o |
| |
| o o o o |
| o o o o o |
| +-----+ |
| | o | |
+-----------------+
Exemplos válidos:
Input:
4 4 2, 5 3 1 1
+-----------------+
| | x | |
| +-----+ |
| x x x x |
| x x x x |
| |
| x x |
+-----------------+
| o |
| o |
| o o o |
| o o o o o |
| +-----+ |
| | o | |
+-----------------+
Input:
3 5 2, 4 4 1 1
+-----------------+
| | x | |
| +-----+ |
| x x x |
| x x x x x |
| |
| x x |
+-----------------+
| o |
| o |
| o o o o |
| o o o o |
| +-----+ |
| | o | |
+-----------------+
Regras:
- A entrada pode estar em qualquer formato conveniente, separado como você desejar. O formato pode ser uma única string (
5311
), dígitos separados por vírgula (5,3,1,1
), etc.- A entrada não deve conter nenhuma outra informação além das duas formações
- A saída deve parecer exatamente como as figuras da amostra, mas espaços à direita e novas linhas estão OK.
- Você pode assumir que apenas uma entrada válida é fornecida (somente as formações na lista serão usadas).
- Programa ou função completa
Este é o código golf, então o código mais curto em bytes vence.
Respostas:
JavaScript (ES6),
258262Função anônima, tendo 2 parâmetros como matrizes numéricas
Teste
fonte
Python 2,
401377 bytesVersão ungolfed com ambiente de teste aqui !
Função que recebe duas listas do formato [defensores, meio-campistas, meio-campistas, atacantes] enquanto o número de um meio-campista é opcional. A equipe X (em cima) vem em primeiro lugar, a equipe O (em baixo) em segundo.
fonte
lambda a:r(a), x)
^^t=lambda a:r(a)
como usá-lo 2 vezeslambda a:r(a)
substituí-lo por apenasr
Perl,
360332324 bytesRequer
-E
|-M5.010
:Um pouco não-destruído:
fonte