1-n numaralı n kutusu vardır . Her bir kutu kilitlenir, öyle ki sadece tek bir karşılık gelen anahtarla açılabilir ( 1-n numaralı ). Bu anahtarlar kutulara rastgele dağıtılır (bir kutuda herhangi bir sayıda anahtar olabilir, bir anahtarda herhangi bir sayıda kopya olabilir) ve sonra tüm kutular kapatılır. Kutuların çoğunda da bir hazine ( 0 numaralı ) kilitlendi.
Tüm hazineyi almak için bir çilingir kiraladınız. Açtığı her kutu için ücret alıyor. Anahtarın zaten mevcut olduğu bir kutuyu açmak için herhangi bir ücret alınmaz.
Girdi, her kutunun içeriğidir. Girişin biçimine karar verebilirsiniz.
Hazineleri elde etmek için gereken minimum maliyeti çıktılayın.
notlar
- Algoritmanız uzun sürebilir, ancak bu önemsizdir.
- En kısa kod kazanır.
- Geçersiz girdi hakkında endişelenmenize gerek yok.
Örnek veri
Burada i satırı , kutu i'de bulunan anahtarları temsil eder .
Giriş
2 0
3
4 0
5 6 0
6
0
Çıktı
1
Giriş
2 0
3 0
4 0
6
5 0
Çıktı
3
Giriş
2 4 0
3 0
1 0
6
5 0
Çıktı
2
Giriş
1
3 4
2 6
5
Çıktı
0
[[1] [3 4] [] [] [2 6] [5]]
da belki ya da belki anlamına gelebilir {{1},{3,4},{},{},{2,6},{5}}
. Bu şekilde, çoğu dil girdiyi önemsiz bir şeye okumayı azaltabilir i=eval(read())
ve zorluğun eğlenceli kısmına odaklanabilir.