Module: Algoritma Floyd


Problem

6 /10


kitaran negatif

Theory Click to read/hide

Memandangkan algoritma Floyd secara berurutan melonggarkan jarak antara semua pasangan bucu (i, j), termasuk yang mempunyai i=j, dan jarak awal antara sepasang bucu (i, i) adalah sama dengan sifar, maka kelonggaran hanya boleh berlaku. jika bucu k supaya d[i][k]+d[k][i]<0, yang bersamaan dengan mempunyai kitaran negatif melalui bucu i

Problem

Diberi graf terarah. Tentukan sama ada ia mempunyai kitaran berat negatif.

Input
Baris pertama mengandungi nombor N (1 <= N <= 100) – bilangan bucu graf. N baris seterusnya mengandungi N nombor setiap satu – matriks bersebelahan graf. Modulo pemberat tepi kurang daripada 100000. Jika tiada tepi, nilai yang sepadan ialah 100000.
 
Output
Pada baris pertama cetak "YA" jika kitaran wujud atau "TIDAK" sebaliknya. 

Contoh
# Input Output
1
3
100000 100000 -51
100  100000 100000
100000 -50  100000
YA