Alih-alih menjadi prajurit yang terampil yang mampu membunuh Hydra (lihat di sini dan di sini ), kali ini Anda adalah seorang prajurit yang tidak memiliki pengetahuan sebelumnya tentang cara membunuh satu atau senjata apa yang digunakan untuk melawan makhluk itu.
Dalam masalah ini, setiap kali Anda memotong satu kepala, dua akan tumbuh di tempat yang sama. Karena Anda tidak memiliki mekanisme untuk memotong banyak kepala secara bersamaan, jumlah kepala hanya akan bertambah. Dalam hal ini, Hydra kami dapat mulai dengan N(N ⩾ 1) kepala. Mari kita sebut pertemuan pertama satu generasi dan kami akan mewakili kepala dari generasi pertama sebagai 0 , kepala dibuat setelah pukulan pertama sebagai 1 , dan seterusnya.
Memasukkan
Anda akan diberikan bilangan bulat yang Nmewakili berapa banyak kepala Hydra awalnya dan daftar ukuranN berisi indeks mana (dalam contoh saya akan menggunakan format 0-diindeks) Anda akan memotong kepala. Anda selalu dapat menganggap indeks yang diberikan valid - ingat bahwa daftar (yaitu: kepala) akan tumbuh ketika Anda memotong kepala.
Contoh
Input : N = 4dan[0,4,2,5]
Generasi 0 - Indeks serangan 0
0 0 0 0 => 1 1 0 0 0
^ ^ ^
Generasi 1 - Indeks serangan 4
1 1 0 0 0 => 1 1 0 0 2 2
^ ^ ^
Generasi 2 - Indeks serangan 2
1 1 0 0 2 2 => 1 1 3 3 0 2 2
^ ^ ^
Generasi 3 - Indeks serangan 5
1 1 3 3 0 2 2 => 1 1 3 3 0 4 4 2
^ ^ ^
Generasi terakhir
1 1 3 3 0 4 4 2
Seperti yang Anda lihat, indeks yang diberikan terkait dengan daftar generasi sebelumnya.
Keluaran
Anda harus menampilkan generasi terakhir.
Uji kasus
N = 1 and [0] => [1,1]
N = 2 and [0,0] => [2,2,1,0]
N = 2 and [0,1] => [1,2,2,0]
N = 2 and [1,0] => [2,2,1,1]
N = 2 and [1,1] => [0,2,2,1]
N = 4 and [0,4,2,5] => [1,1,3,3,0,4,4,2]
N = 6 and [0,0,0,0,0,0] => [6, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0]
N = 6 and [5,6,7,8,9,10] => [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 6]
N = 10 and [1,7,3,12,9,0,15,2,2,10] => [6, 6, 9, 9, 8, 1, 3, 3, 0, 0, 10, 10, 2, 5, 5, 0, 0, 4, 7, 7]
Ini adalah kode-golf sehingga jawaban terpendek dalam byte menang!
N(...) dan daftar ukuranN (Tapi saya melewatkan bagian itu juga ketika saya pertama kali membaca tantangan.) Oleh karena itu, Nsama sekali tidak berguna.
Ndari input karena "secara implisit" diberikan sebagai ukuran array. Namun, saya pikir solusi akan menghemat byte dengan memberi Nalih-alih mengandalkan array.size()atau serupa.