Yolun nömrələnməsi#1101

Yolun nömrələnməsi

1 saniyə
128 meqabayt
Çox asan

Şəhərdəki kəsişmələr bir istiqamətli yollarla birləşdirilib. Hər bir kəsişmə cütü arasında fərqli marşrutların sayını hesablamaq üçün bir proqram yazın. Marşrut, iki kəsişmə arasında bir istiqamətli yollar ardıcıllığıdır.

Kəsişmələr sıfırdan başlayan qeyri-mənfi tam ədədlərlə nömrələnir. Bir istiqamətli yol onu birləşdirən kəsişmələrin cütlüyü ilə verilir. Məsələn, qeydi, kəsişməsindən kəsişməsinə bir istiqamətli yol olduğunu göstərir. Qeyd edin ki, iki istiqamətli yolu iki tək istiqamətli yol kimi modelləşdirmək olar: və .

Dörd kəsişmədən ibarət olan və aşağıdakı kimi birləşdirilən bir şəhəri nəzərdən keçirin:

Burada -dan -ə bir marşrut, -dan -yə iki marşrut var (bunlar 0 \to 1 \to 2 və 0 \to 2), -dan -ə iki marşrut, -dən -yə bir marşrut, -dən -ə bir marşrut, -dən -ə bir marşrut var və başqa marşrut yoxdur.

Bəzi kəsişmələr arasında sonsuz sayda fərqli marşrutların mümkün olması mümkündür. Məsələn, əgər yuxarıdakılara yolu əlavə olunsa, yenə də -dan -ə yalnız bir marşrut olar, lakin indi -dan -yə sonsuz sayda marşrut var. Bu ona görədir ki, və -ə çatdıqdan sonra -dən -ə və təkrar -dən -yə istənilən sayda gedib-gələ bilərsiniz və fərqli marşrutlar yaranar. Məsələn, 0 \to 2 \to 3 \to 2 \to 3 \to 2 və 0 \to 2 \to 3 \to 2 hər ikisi fərqli marşrutlardır.

Giriş

İlk ədəd şəhərdəki bir istiqamətli yolların sayıdır, ardınca isə həmin yolların təsviri gəlir. Hər bir yol onu birləşdirən kəsişmələrin cütlüyü ilə göstərilir: hər bir cütü kəsişməsindən kəsişməsinə bir istiqamətli yol olduğunu bildirir. Bütün şəhərlərdə kəsişmələr -dan ən böyük kəsişməyə qədər ardıcıl nömrələnir. Girişdəki bütün ədədlər bir boşluqla ayrılıb.

Heç bir zaman bir kəsişmədən özünə bir istiqamətli yol olmur. Heç bir şəhərdə -dan çox kəsişmə olmayacaq.

Çıxış

Kəsişmə -dən -yə fərqli marşrutların sayını göstərən kvadrat matrisi çap edin. Əgər çıxış matrisi -dirsə, onda M_{j k} -dən -yə fərqli marşrutların sayını göstərir. Matrisi sıra-sıra çap edin, sıra nömrələri ardıcıllığı ilə.

Əgər iki kəsişmə arasında sonsuz sayda marşrut varsa, çap edin. Çıxışdakı düzlənmə və format barədə narahat olmayın. Matrisin hər sətrindəki bütün ədədlər bir boşluqla ayrılmalıdır.

Nümunələr

Nümunə 1

Loading
Loading

Nümunə 2

Loading
Loading