Fußball ist der Sport, bei dem die Spieler den Ball treten und nicht tragen. Einige verwirrte Personen könnten diesen Fußball nennen.
Eine Fußballmannschaft hat einen Torhüter und 10 Spieler auf dem Spielfeld. Im Fußball gibt es viele Formationen , die bestimmen, wo jeder Spieler sein soll (der Spieler bewegt sich natürlich, aber es ist die Grundposition).
Die häufigste Formation ist 4-4-2, dh es gibt 4 Verteidiger, 4 Mittelfeldspieler und zwei Angreifer. Andere Formationen sind ("Verteidiger, Mittelfeldspieler, Angreifer" oder "Verteidiger, Mittelfeldspieler, Mittelfeldspieler, Angreifer"):
- 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
Die Herausforderung besteht darin, zwei Eingaben für jedes der beiden Teams vorzunehmen und eine Übersicht über die Spieler auf dem Spielfeld auszugeben.
Allgemein: Die meisten Informationen zum Layout der ASCII-Kunst finden Sie in den Abbildungen (ein Bild sagt mehr als 1000 Worte). Nur der Weg, um die 10 Spieler auf dem Spielfeld zu platzieren, wird im Detail erklärt:
- Der Torwart und der Strafraum belegen 3 Zeilen mit ASCII-Zeichen
- Anordnung und Anzahl der Plätze sind in der folgenden Abbildung dargestellt
- Zwischen dem Strafraum und den Verteidigern gibt es keine leere Reihe
- Wenn die Formation 3 Zahlen enthält (zB 4-4-2, 4-3-3 usw. Nicht 4-3-2-1):
- Es gibt keine leere Reihe zwischen den Verteidigern und den Mittelfeldspielern
- Es gibt eine leere Reihe zwischen den Mittelfeldspielern und den Angreifern
- Wenn die Formation 4 Zahlen enthält (z. B. 4-3-2-1, 3-3-3-1 usw., nicht 4-4-2):
- Es gibt keine leere Reihe zwischen dem Verteidiger und der ersten Reihe der Mittelfeldspieler
- Zwischen der ersten und der zweiten Reihe der Mittelfeldspieler befindet sich keine leere Reihe
- Es gibt keine leere Reihe zwischen der zweiten Reihe der Mittelfeldspieler und den Angreifern
- Es gibt keine leeren Reihen zwischen den Angreifern und der Mittellinie
- Die Mannschaft in der oberen Hälfte ist markiert als
x
und die Mannschaft in der zweiten Hälfte ist markiert also
. - Jede Reihe von Spielern wird wie in den Abbildungen unten gezeigt auf dem Spielfeld verteilt. Die Anzahl der Leerzeichen ist in der Abbildung zu sehen.
Die folgende Abbildung stellt keine gültige Formation dar, sondern dient zur Veranschaulichung des Layouts und der Anzahl der erforderlichen Abstände zwischen den Spielern. Der Input dafür wäre 2 3 4 5
und 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 | |
+-----------------+
Gültige Beispiele:
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 | |
+-----------------+
Regeln:
- Die Eingabe kann in jedem beliebigen Format erfolgen, jedoch nach Belieben getrennt. Das Format kann eine einzelne Zeichenfolge (
5311
), durch Kommas getrennte Ziffern (5,3,1,1
) usw. sein.- Die Eingabe sollte keine anderen Informationen als die beiden Formationen enthalten
- Die Ausgabe sollte genau so aussehen wie die Beispielzahlen, aber nachgestellte Leerzeichen und Zeilenumbrüche sind in Ordnung.
- Sie können davon ausgehen, dass nur gültige Eingaben vorliegen (nur Formationen in der Liste werden verwendet).
- Volles Programm oder Funktion
Das ist Code Golf, also gewinnt der kürzeste Code in Bytes.
Antworten:
JavaScript (ES6), 258
262Anonyme Funktion, die 2 Parameter als numerische Arrays verwendet
Prüfung
quelle
Python 2,
401377 BytesUngolfed-Version mit Testumgebung hier !
Funktion, die zwei Listen des Formats [Verteidiger, Mittelfeldspieler, Mittelfeldspieler, Angreifer] annimmt, während die eine Mittelfeldspielernummer optional ist. Team X (oben) steht an erster Stelle, Team O (unten) an zweiter Stelle.
quelle
lambda a:r(a), x)
^^t=lambda a:r(a)
wie Sie es 2-mal verwendenlambda a:r(a)
ersetzen Sie es durch nurr
Perl,
360332324 BytesBenötigt
-E
|-M5.010
:Etwas ungolfed:
quelle