Aşağıdakı bərabərtərəfli üçbucaqlardan ibarət labirinti nəzərdən keçirin:

Hər bir zirvə şəkildə göstərildiyi kimi iki və koordinatı ilə göstərilir. Bəzi kənarlarda ya ağ, ya da qara dairələr var. Labirintdə hərəkəti tənzimləyən iki əsas qayda mövcuddur:
Yalnız üzərində dairə olan kənarlarla hərəkət etmək icazəlidir.
Labirintdə hərəkət edərkən, ağ və qara dairələr arasında növbələmək lazımdır: yəni, yalnız sonuncu keçdiyiniz dairə qara olubsa, ağ dairə olan kənarı, və əksinə, keçmək olar. İlk hərəkətdə isə istər qara, istərsə də ağ dairə olan kənarla başlamağa icazə verilir.
Proqram yazın ki, daxilolma nöqtəsindən çıxışa qədər olan ən qısa yolun uzunluğunu tapsın. Yolun uzunluğu keçilən kənarların (və ya dairələrin) sayına bərabərdir. Qəbul edin ki, belə bir yol həmişə mövcuddur.
Birinci sətirdə labirintin eni və hündürlüyü olan iki tam ədəd verilir (1 \leq W, H \leq 500). İkinci sətirdə dörd tam ədəd verilir: X_1\ Y_1\ X_2\ Y_2 (0 \leq X_1, X_2 \leq W; 0 \leq Y_1, Y_2 \leq H). (X_1, Y_1) giriş nöqtəsinin koordinatları, (X_2, Y_2) isə çıxış nöqtəsinin koordinatlarıdır.
Növbəti 2H+1 sətir kənarları təsvir edir: tək nömrəli sətirlər (-cü, -ci və s.) üfüqi kənarları, cüt nömrəli sətirlər (-cü, -cı və s.) isə qeyri-üfüqi kənarları göstərir. Hər belə sətirdə , və simvollarından istifadə olunur: – həmin kənarda dairə yoxdur, və ya isə müvafiq olaraq həmin kənarda ağ və ya qara dairə olduğunu göstərir. Simvollar arasında boşluq yoxdur. Konkret olaraq, tək nömrəli sətirlərdə dəqiq simvol olur, cüt nömrəli sətirlərdə isə dəqiq 2W+1 simvol olur.
Çıxışda yeganə ədədi çap edin — başlanğıc nöqtəsindən çıxışa qədər mümkün olan ən qısa yolun uzunluğunu.
Şərh
1: Sadə bir labirint. Mümkün olan ən qısa yollardan biri:
(0, 0) \to (1, 0) \to (0, 1) \to (1, 1) \to (1, 0) \to (2, 0) \to (2, 1)
Aşağıda labirintin və ən qısa yolun təsviri göstərilib:

2: Bu, birinci səhifədəki şəkildə olan labirintdir. Ən qısa yol belədir:
(0, 2) \to (1, 2) \to (1, 1) \to (2, 1) \to (2, 0) \to (3, 0) \to (3, 1) \to (3, 2) \to (4, 1) \to (3, 1) \to (3, 0) \to (2, 0)
\to (2, 1) \to (1, 1) \to (1, 2) \to (1, 3) \to (2, 3) \to (2, 4) \to (3, 4) \to (3, 3) \to (4, 3) \to (4, 2) \to (5, 2)
(Uzunluq: )
Nümunə 1