Hidraları öldürme yeteneğine sahip yetenekli bir savaşçı olmak yerine ( buraya ve buraya bakın ), bu kez yaratığa karşı kullanılacak silahları veya hangi silahları nasıl kullanacağınız hakkında önceden bilgisi olmayan bir savaşçısınız.
Bu problemde, tek bir başı kestiğinizde, ikisi aynı yerde büyüyecektir. Aynı anda birçok kafayı kesecek bir mekanizmaya sahip olmadığınız için, kafa sayısı sadece artacaktır. Bu durumda, Hydra N(N ⩾ 1) kafalarıyla başlayabilir . Let ilk karşılaşması bir nesil diyoruz ve biz ilk kuşaktan başlarını temsil edecektir 0 olarak ilk darbe sonrası oluşturulan başkanları, 1 , vb.
Giriş
NBaşlangıçta Hydra'nın kaç kafaya sahip olduğunu gösteren bir tam sayı ve Nhangi dizinde ( boyutlarda 0 dizinli format kullanacağım) içeren bir boyut listesi verilir . Verilen dizinlerin her zaman geçerli olduğunu varsayabilirsiniz - kafaları kestiğinizde listenin (örn. Kafalar) büyüyeceğini unutmayın.
Misal
Girdi : N = 4ve[0,4,2,5]
Nesil 0 - Saldırı endeksi 0
0 0 0 0 => 1 1 0 0 0
^ ^ ^
Nesil 1 - Saldırı endeksi 4
1 1 0 0 0 => 1 1 0 0 2 2
^ ^ ^
Nesil 2 - Saldırı endeksi 2
1 1 0 0 2 2 => 1 1 3 3 0 2 2
^ ^ ^
Nesil 3 - Saldırı endeksi 5
1 1 3 3 0 2 2 => 1 1 3 3 0 4 4 2
^ ^ ^
Son nesil
1 1 3 3 0 4 4 2
Gördüğünüz gibi, verilen indeksler önceki neslin listesiyle ilgilidir.
Çıktı
Son nesli çıkarmanız gerekiyor.
Test senaryoları
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]
Bu kod golf bayt kazanır çok kısa cevap kazanır!
N(...) ve bir boyut listesi verilecektirN (Ama ilk okuduğumda bu kısmı da kaçırdım Bu nedenle, Nsadece işe yaramaz.
N"örtük olarak" dizinin boyutu olarak verildiğinden giriş kaldırma hakkında düşündüm . Ancak, çözümlerin Ngüvenerek array.size()ya da benzeri yerine baytlardan tasarruf edeceğini düşündüm .