Önemli düzenleme: Daha önce, Örnek 1'de yanlış bir değer vardı. Düzeltildi.
Her hücrenin dört değerden birini içerdiği iki boyutlu bir dizi verilir.
Örnekler:
1 2 2 2 2 1 @ . . X X V
1 3 1 4 1 4 e . @ I C V
2 3 1 3 4 2 H H @ X I V
1 4 4 2 1 3 V C C
2 2 2 3 2 3 X X X
Dört değer yön oklarını (yukarı, aşağı, sol ve sağ) temsil etse de, hangi değerin hangi yönü temsil ettiğini bilmiyorsunuz.
Başlangıç veya bitiş noktalarının nerede olduğunu bilmeseniz de, yönlü oklar dizideki her hücreyi içeren kesintisiz bir yol oluşturur.
Dört değerin her birinin hangi yönü temsil ettiğini ve başlangıç ve bitiş noktalarının nerede olduğunu belirleyen bir kod yazın.
A, B, C ve D değerlerini içeren bir dizi için kabul edilebilir bir dönüş değeri şöyle olacaktır:
{ up: A, down: C, left: D, right: B, start: [2, 0], end: [4, 2] }
Yolu her iki yönden de geçebildiğiniz için (baştan sona ve baştan sona), her zaman birden fazla doğru çözüm olacaktır ve ikiden fazla olabilir. Aldığınız girişlerin (yukarıdaki örneklerde olduğu gibi) her zaman en az bir doğru çözümü olduğunu varsayın. Birden fazla doğru çözümün olduğu durumlarda, doğru çözümlerden sadece birini döndürmek yeterlidir.
En kısa kod kazanır. Kazananı 7 gün veya 24 saat sonra, hangisi önce gelirse seçmeyeceğim.
Yukarıdaki örneklere çözümler ekliyorum, ancak yalnızca kodunuzu yazdıktan sonra bunları kontrol etmenizi öneririz:
Bir:
{yukarı: 3, aşağı: 1, sol: 4, sağ: 2, başlangıç: [0,0], bitiş: [2,5]}
İki:
{yukarı: '@', aşağı: 'e', sol: '.', sağ: 'H', başlangıç: [1,1], bitiş: [0,0]}
Üç:
{yukarı: 'I', aşağı: 'V', sol: 'C', sağ: 'X', başlangıç: [0,2], bitiş: [4,2]}
