Problem

4 /6


طريق

Theory Click to read/hide

لاستعادة أقصر المسارات ، أنشئ مصفوفة من & quot؛ الأجداد & quot؛ & nbsp؛ \ (p [] \) ، حيث ، لكل رأس ، يتم تخزين رقم الرأس الذي نصل من خلاله إلى هذا الرأس.

Problem

في رسم بياني غير موجه ، تحتاج إلى إيجاد الحد الأدنى للمسار بين & nbsp؛ رأسين. & nbsp؛
& nbsp؛
الإدخال: & nbsp؛
- يحتوي السطر الأول على الرقم N - عدد الرؤوس في الرسم البياني & nbsp؛ ( \ (1 & lt؛ = N & lt؛ = 100 \) ) ؛
- & nbsp ؛ تعيين الأسطر التالية المصفوفة المجاورة (يعني 0 عدم وجود حافة ، 1 - edge) ؛
- السطر الأخير يحتوي على عدد من رأسين - الأولي والنهائي.
& nbsp؛
الإخراج: & nbsp؛ اطبع أولاً L - طول المسار (عدد الحواف إلى & nbsp؛ pass). & nbsp؛ ثم اطبع L + 1 رقم - الرؤوس بالترتيب & nbsp ؛ على طول هذا المسار. إذا كان المسار غير موجود ، فقم بطباعة رقم واحد -1 .

أمثلة <الجسم>
# إدخال الإخراج
1
5
0 1 0 0 1
1 0 1 0 0
0 1 0 0 0
0 0 0 0 0
1 0 0 0 0
3 5
3
3 2 1 5