封印之門 Floyd演算法應用

2021-10-01 07:01:48 字數 867 閱讀 9499

來自藍橋杯

計蒜客傳送門

沒什麼難度。。。

剛剛才知道字母一共有26個,不是24個,wa了好久。。。

#include

#include

#include

#define inf 0x3f3f3f3f

// +∞

using

namespace std;

intmain

(void

)/*下面是floyd核心***/

for(

int q=

1;q<=

26;q++

)//q表示「拐點」

for(

int i=

1;i<=

26;i++

)//i表示出發點

for(

int j=

1;j<=

26;j++

)//j表示目的地

if(i!=j)

if(map[i]

[q]+map[q]

[j][j])

map[i]

[j]=map[i]

[q]+map[q]

[j];

long

long sum=0;

for(

int i=

0;isize()

;i++

) sum+

=map[s1[i]

-'a'+1

][s2[i]

-'a'+1

];if(sumcout

cout<<

"-1"

;return0;

}

計蒜客 封印之門 簡單Floyd應用

蒜頭君被暗黑軍團包圍在一座島上,所有通往近衛軍團的路都有暗黑軍團把手。幸運的是,小島上有一扇上古之神打造的封印之門,可以通往近衛軍團,傳聞至今沒有人能解除封印。封印之門上有一串文字,只包含小寫字母,有 kkk 種操作規則,每個規則可以把乙個字元變換成另外乙個字元。經過任意多次操作以後,最後如果能把封...

計蒜客 封印之門(floyd)

封印之門 蒜頭君被暗黑軍團包圍在一座島上,所有通往近衛軍團的路都有暗黑軍團把手。幸運的是,小島上有一扇上古之神打造的封印之門,可以通往近衛軍團,傳聞至今沒有人能解除封印。封印之門上有一串文字,只包含小寫字母,有 kk k 種操作規則,每個規則可以把乙個字元變換成另外乙個字元。經過任意多次操作以後,最...

封印之門(最短路)

蒜頭君被暗黑軍團包圍在一座島上,所有通往近衛軍團的路都有暗黑軍團把手。幸運的是,小島上有一扇上古之神打造的封印之門,可以通往近衛軍團,傳聞至今沒有人能解除封印。封印之門上有一串文字,只包含小寫字母,有 k 種操作規則,每個規則可以把乙個字元變換成另外乙個字元。經過任意多次操作以後,最後如果能把封印之...