Sepak bola adalah olahraga di mana pemain menendang bola, bukan membawanya. Beberapa orang yang bingung mungkin menyebut ini sepakbola.
Sebuah tim sepakbola memiliki satu kiper, dan 10 pemain keluar di lapangan. Ada banyak formasi yang digunakan dalam sepak bola, yang menentukan di mana setiap pemain seharusnya (pemain tentu saja bergerak, tapi itu posisi dasar).
Formasi yang paling umum adalah 4-4-2, yang berarti ada 4 pemain bertahan, 4 gelandang tengah dan dua penyerang. Formasi lain adalah ("pembela, gelandang, penyerang" atau "pembela, gelandang, gelandang, penyerang"):
- 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
Tantangannya adalah untuk mengambil dua input, satu untuk masing-masing dari dua tim dan menampilkan gambaran umum para pemain di lapangan.
Secara umum: Sebagian besar informasi tentang tata letak ASCII-art dapat ditemukan dalam gambar (gambar mengatakan lebih dari 1000 kata). Hanya cara untuk menempatkan 10 pemain di lapangan dijelaskan secara rinci:
- Penjaga dan area penalti membutuhkan 3 baris karakter ASCII
- Tata letak dan jumlah spasi dapat ditemukan pada gambar di bawah ini
- Tidak ada baris kosong antara area penalti dan pembela
- Jika ada 3 angka dalam formasi (mis. 4-4-2, 4-3-3 dll. Tidak 4-3-2-1):
- Tidak ada baris kosong antara bek dan gelandang
- Ada satu baris kosong antara gelandang dan penyerang
- Jika ada 4 angka dalam formasi (mis. 4-3-2-1, 3-3-3-1 dll. Tidak 4-4-2):
- Tidak ada baris kosong antara bek dan baris pertama dari gelandang
- Tidak ada baris kosong antara baris pertama dari gelandang tengah dan yang kedua
- Tidak ada baris kosong antara baris kedua gelandang dan penyerang
- Tidak ada baris kosong antara penyerang dan garis tengah
- Tim di babak atas ditandai sebagai
x
, dan tim di babak kedua ditandai sebagaio
. - Setiap baris pemain harus didistribusikan di lapangan seperti yang ditunjukkan pada gambar di bawah ini. Jumlah spasi dapat dilihat pada gambar.
Gambar berikut tidak mewakili formasi yang valid, tetapi digunakan untuk menggambarkan tata letak dan jumlah ruang yang dibutuhkan antara masing-masing pemain. Input untuk ini adalah 2 3 4 5
dan 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 | |
+-----------------+
Contoh yang valid:
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 | |
+-----------------+
Aturan:
- Input dapat pada format apa pun yang mudah, dipisahkan sesuai keinginan Anda. Format dapat berupa string tunggal (
5311
), digit yang dipisahkan koma (5,3,1,1
), dll.- Masukan tidak boleh mengandung informasi lain selain dua formasi
- Outputnya harus persis seperti angka sampel, tetapi spasi tambahan dan baris baru OK.
- Anda dapat mengasumsikan hanya input yang valid yang diberikan (hanya formasi dalam daftar yang akan digunakan).
- Program atau fungsi penuh
Ini adalah kode golf, jadi kode terpendek dalam byte menang.
Jawaban:
JavaScript (ES6), 258
262Fungsi anonim, mengambil 2 parameter sebagai array numerik
Uji
sumber
Python 2,
401377 byteVersi tidak dikoleksi dengan lingkungan pengujian di sini !
Fungsi yang mengambil dua daftar format [pembela, gelandang, gelandang, penyerang] sedangkan nomor satu gelandang adalah opsional. Tim X (atas) datang pertama, tim O (bawah) kedua.
sumber
lambda a:r(a), x)
^^t=lambda a:r(a)
saat Anda menggunakannya 2 kalilambda a:r(a)
menggantinya dengan hanyar
Perl,
360332324 byteMembutuhkan
-E
|-M5.010
:Agak tidak terserang:
sumber