Module: Floyd'un algoritması


Problem

9 /10


Floyd - varoluş

Theory Click to read/hide

Negatif ağırlık döngüsünden geçen yol imkansız hale gelir.

Problem

Size yönlendirilmiş ağırlıklı bir grafik verilir. Bitişiklik matrisini kullanarak, her köşe çifti için aralarında en kısa yol olup olmadığını belirlemeniz gerekir.
 
Yorum: En kısa yol iki nedenden dolayı mevcut olmayabilir:
  • Yol yok
  • İsteğe göre küçük ağırlıkta yollar vardır
     
Giriş
Giriş dosyasının ilk satırı tek bir sayı içerir: N (1 <=N <=100) — grafik köşe sayısı. Sonraki N satırın her biri N sayı içerir — grafiğin bitişiklik matrisi (i'nci satırdaki j'inci sayı, i'den j'ye kadar olan kenarın ağırlığına karşılık gelir): 0 sayısı kenar olmadığını ve diğer tüm sayıların — karşılık gelen ağırlığın bir kenarının varlığı. Tüm modulo sayıları 100'ü geçmez.
 
Çıktı
N sayıdan oluşan N satırı yazdır. i'nci satırdaki j'inci sayı, i'inci köşeden j'ye en kısa yola karşılık gelmelidir. Sayı, yol yoksa 0, en kısa yol varsa 1 ve yollar varsa ancak keyfi olarak küçük ağırlıklı yollar varsa 2 olmalıdır.

Örnekler
# Girdi Çıktı
1
5
0 1 2 0 0
1 0 3 0 0
2 3 0 0 0
0 0 0 0 -1
0 0 0 -1 0 
1 1 1 0 0 
1 1 1 0 0 
1 1 1 0 0 
0 0 0 2 2 
0 0 0 2 2