來自藍橋杯
計蒜客傳送門
沒什麼難度。。。
剛剛才知道字母一共有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 種操作規則,每個規則可以把乙個字元變換成另外乙個字元。經過任意多次操作以後,最後如果能把封印之...