Tantangan ini terinspirasi oleh aplikasi ini . Kasing uji dipinjam dari aplikasi itu.
Ini adalah tantangan kode tercepat , di mana tujuannya adalah untuk menyelesaikan kasus uji terbesar dalam jumlah waktu paling sedikit. Tersedia beberapa kasus uji yang lebih kecil, sehingga orang dapat menguji algoritme mereka lebih cepat.
Anda akan diberi kotak input persegi, dengan dimensi n-oleh-n di mana 9 <= n <= 12 . Kotak ini akan dibagi menjadi n area, di mana sel-sel di setiap area memiliki pengidentifikasi unik (saya akan menggunakan huruf kecil dari al dalam teks di sini, tetapi Anda dapat memilih apa pun yang Anda suka, misalnya bilangan bulat 1-12 ) .
Input mungkin terlihat seperti ini (format input opsional):
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
Atau, lebih mudah untuk divisualisasikan:
Tantangan:
Anda harus menempatkan 2 * n pohon di taman ini, sesuai dengan aturan berikut:
- Tepatnya akan ada 2 pohon per kolom, dan 2 pohon per baris
- Semua area harus memiliki tepat 2 pohon.
- Tidak ada pohon yang dapat berbatasan dengan pohon lain, secara vertikal, horizontal atau diagonal
Solusi untuk tata letak di atas adalah:
Catatan: Hanya ada satu solusi untuk setiap puzzle
Aturan tambahan:
- Format input dan output adalah opsional
- Keluaran mungkin misalnya berupa daftar indeks, kisi dengan 1/0 yang menunjukkan apakah ada pohon di posisi itu, atau versi input yang dimodifikasi di mana pohon ditunjukkan
- Waktu pelaksanaan harus deterministik
- Program harus selesai dalam 1 menit di komputer @ isaacg
- Spesifikasi: 4 CPU, CPU i5-4300U @ 1,9 GHz, RAM 7,5G.
- Jika program Anda tidak dapat menyelesaikan dua test case terbesar dalam satu menit masing-masing maka waktu untuk terbesar kedua ( n = 11 ) akan menjadi skor Anda. Anda akan kalah terhadap solusi yang memecahkan kasus terbesar.
Kasus uji:
Saya mungkin mengedit daftar ini jika pengajuan tampaknya disesuaikan agar sesuai dengan kasus pengujian ini.
12-oleh-12 :
--- Input ---
aaaaabccccdd
aaaaabccccdd
aaaaabbbbddd
eeeafffgbghh
eeaafffgbghh
eefffffggghh
eeefijffghhh
iieiijjjjkhh
iiiiijjjjkhk
lljjjjjjjkkk
llllllkkkkkk
llllllkkkkkk
--- Solution ---
aaaaabcccCdD
aaaaaBcCccdd
aAaaabbbbdDd
eeeaffFgBghh
eeAaFffgbghh
eefffffGgGhh
EeefijffghhH
iiEiIjjjjkhh
IiiiijjjjkHk
lljJjJjjjkkk
lLllllkkKkkk
lllLllKkkkkk
11-oleh-11 :
--- Input ---
aaaaaaabbcc
adddabbbbcc
edddbbbbbbc
eddddbbbbbb
effffggghhh
effffgghhii
eefffjjhhii
eeeejjjhhii
eeejjjjkiii
jjjjjjkkiii
jjjjjkkkiii
--- Solution ---
aaAaaaabbCc
adddAbBbbcc
eDddbbbbbbC
eddDdBbbbbb
effffggGhHh
eFfffGghhii
eefFfjjhHii
EeeejjjhhiI
eeEjjjjKiii
JjjjJjkkiii
jjjjjkKkIii
10-kali-10
--- Input ---
aaaaabccdd
aeaabbbccd
aeaabfbgcd
eeeaafggcd
eeeaafghcd
eeeiifghcd
ieiiigghcd
iiijighhcd
jjjjighhcd
jjjggghhdd
--- Solution ---
aaAaabccdD
aeaaBbBccd
aEaabfbgcD
eeeaaFgGcd
eEeAafghcd
eeeiiFghCd
IeiIigghcd
iiijigHhCd
JjJjighhcd
jjjgGghHdd
9-oleh-9
--- Input ---
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
--- Solution ---
aAbBbbbcc
adddbbBcC
adEeEcccc
AdddefgCc
hhhDiFggg
hDddifffG
hhhiIfFfg
HiHiifffg
iiiiiIgGg
--- Input ---
aaabbbccc
aaaabbccc
aaaddbcce
ffddddcce
ffffddeee
fgffdheee
fggfhhhee
iggggheee
iiigggggg
--- Solution ---
aaAbBbccc
AaaabbcCc
aaaDdBcce
fFddddcCe
fffFdDeee
fGffdheeE
fggfHhHee
IggggheeE
iiIgggGgg
There shall be exactly 2 trees per column, and 2 trees per row
sehingga kekuatan kasar mungkin tidak mungkin.