Bölgenin en iyi ve en ünlü kahramanısın. Son zamanlarda, bir Hydra'nın yakındaki bir vadide asılı olduğu söylentileri var . Eğer sen cesur ve erdemli kahraman olarak, bugün bir süre sonra kontrol gidersiniz anlamaya.
Hydrae ile ilgili sorun, kafalarını her kesmeye çalıştığınızda bazı yenilerinin büyümesidir. Neyse ki sizin için aynı anda birden fazla kafa kesebilen kılıçlarınız var. Ama bir av var, eğer hidra kılıcı kesimlerinden daha az başa sahipse, hidraya saldıramazsın. Hidra tamamen sıfır kafaya sahip olduğunda, onu öldürdün.
Ayrıca Hydra'nın kafalarının yarısını kesecek olan Bisektör adı verilen özel bir kılıç da var, ancak sadece kafa sayısı eşitse. Bisektör , kafa sayısı tek olduğunda hiç kullanılamaz . Bu sıfır kafaları kesmekten farklıdır.
Hydra'yı öldürmenin en iyi yolunu bulmak için bir bilgisayar programı yazmaya karar verdiniz.
Görev
Size giriş olarak verilecektir
- Hydra'nın başladığı kafa sayısı
- Hydra'nın her turda aldığı kafa sayısı
- her biri kullanım için mevcut olan kılıçların listesi
Hydra'yı mümkün olan en az dönüşle öldürecek bir hamle listesi çıkarmalısınız. Hidrayı öldürmenin bir yolu yoksa, bunu gösteren başka bir değer çıkarmanız gerekir (ve diliniz güçlü bir şekilde yazıldıysa boş liste iyidir). Hidra'yı öldürmenin birden fazla optimal yolu varsa, bunlardan herhangi birini veya hepsini çıktısını alabilirsiniz.
Bu bir kod golf sorusudur, bu nedenle cevaplar bayt cinsinden puanlandırılacak, daha az bayt daha iyi olacaktır.
Test Durumları
Talep üzerine daha fazlası
5 heads, 9 each turn, [-1,-2,-5] -> [-5]
12 heads, 1 each turn, [/2,-1] -> No solution
8 heads, 2 each turn, [-9, -1] -> [-1,-9]
3 heads, 23 each turn, [/2,-1,-26] -> [-1,-1,-26,-26,-26,-26,-26,-26,-26,-26]
16 heads, 1 each turn, [/2, 4, 2] -> [/2,-4,/2,-4]
Bu soru HydraSlayer'ın ana tamircisinin basitleştirilmiş bir versiyonudur . Eğer bu tür bir bulmaca isterseniz, kontrol etmenizi öneririz, oldukça eğlenceli. Oyunla herhangi bir bağlantım yok.
[/2, -2, /2, -2, -4]de çalışıyor.