Bir BM konferansındaki iki büyükelçi birbirleriyle konuşmak istiyor, ancak maalesef her biri sadece bir dil konuşuyor ve aynı dil değiller. Neyse ki, her biri birkaç dili anlayan ve konuşan birkaç çevirmene erişimleri var. Göreviniz, iki büyükelçinin birbirleriyle konuşmasını sağlayan en kısa çevirmen zincirini (çeviride olabildiğince az kaybolmak istediğiniz için) belirlemektir.
Kodlama
Girdi: 2 harfli küçük harfli dizeler (her büyükelçinin dili) ve dil listesi (her çevirmen için bir liste)
Alternatif olarak 2 harfli kodlar yerine tamsayılar da alabilirsiniz.
Çıktı: İki büyükelçinin iletişim kurmasına izin veren en kısa çevirmen zincirlerinden herhangi biri olan indeks veya değere göre çevirmen dizisi. Geçerli bir çevirmen zinciri yoksa, davranış tanımsızdır. (Çökebilir, rastgele bir değer çıktısı verebilir veya bir hatayı gösterebilirsiniz)
Geçerli bir çevirmen zinciri, ilk çevirmenin bir büyükelçinin dilini, ikinci ve sonraki çevirmenlerin önceki çevirmenle en az bir dili paylaştığı ve son çevirmenin diğer büyükelçinin dilini konuştuğu zincirdir.
Örnekler
Sıfır tabanlı endeksleme kullanma:
es, en, [
[es, en]
] ==> [0]
en, en, [] ==> []
en, jp, [
[en, zh, ko, de],
[jp, ko]
] ==> [0, 1]
es, ru, [
[gu, en, py],
[po, py, ru],
[po, es]
] ==> [2, 1]
fr, gu, [
[it, fr, de, es, po, jp],
[en, ru, zh, ko],
[jp, th, en],
[th, gu]
] ==> [0, 2, 3]
fr, ru, [
[fr, en],
[en, ko, jp],
[en, ru]
] ==> [0, 2]
de, jp, [
[en, fr],
[ko, jp, zh],
[fr, po],
[es, ko, zh],
[de, en, th],
[en, es],
[de, fr]
] ==> [4, 5, 3, 1]
Kurallar ve Varsayımlar
- Standart IO kuralları (uygun herhangi bir I / O formatını kullanın) ve yasaklanmış boşluklar uygulanır.
- Dilleri konuşmanın ve anlamanın mükemmel bir şekilde simetrik olduğunu ve diller arasındaki tüm olası çevirilerin eşit derecede verimli olduğunu varsayabilirsiniz.
- "Yeterince yakın" dil kavramı yoktur. Örneğin İspanyolca'nın gerekli olduğu bir yerde Portekizce kullanmak yeterince iyi değildir.
- Birden çok kısa çevirmen zinciri varsa, bunlardan herhangi biri yapar.
- Elçiler aynı dili konuşurlarsa, çevirmen listesi boş olmalıdır
- Birinci elçilerin hangisi önemli değil; çevirmen listesi ileri veya geri olabilir.
- Büyükelçiler bu zorluk uğruna sadece bir dil konuşur
- Çevirmenler en az iki dil konuşur
- 2 harfli dil kodlarının gerçek dillere karşılık gelmesi gerekmez
- Geçerli bir çevirmen sırası olduğunu varsayabilirsiniz.
- Diziyi değere göre çıkarıyorsanız, yalnızca ilgili dilleri değil, kullanılabilir tüm dilleri de ekleyin.
Mutlu Golf!
en,fr,sp;en,gr;gr,fr