@[Moon_Traveller](/user/682394)
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int n, K;
int link[25][25];
char st, ed;
int main()
{
cin >> n >> K;
memset(link, 0x3f, sizeof(link));
for(int i = 1; i < n; i++)
{
int tmp;
cin >> tmp;
link[i][i + 1] = tmp;
link[i + 1][i] = tmp;
}
int tmp;
cin >> tmp;
link[n][1] = tmp;
link[1][n] = tmp;
for(int i = 1; i <= K; i++)
{
char a, b;
int x, y, tmp;
cin >> a >> b >> tmp;
x = a - 'A' + 1;
y = b - 'A' + 1;
if(tmp > link[x][y] || link[x][y] == 0x3f3f3f3f)
{
link[x][y] = tmp;
link[y][x] = tmp;
}
}
cin >> st >> ed;
for(int k = 1; k <= n; k++)
{
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
link[i][j] = min(link[i][j], link[i][k] + link[k][j]);
link[j][i] = link[i][j];
}
}
}
cout << link[st - 'A' + 1][ed - 'A' + 1] << endl;
return 0;
}
```
by kkxacj @ 2023-04-30 22:09:21
@[kkxacj](/user/704089) 长知识了,原来要写成 `0x3f3f3f3f`……
非常感谢!
by Moon_Traveller @ 2023-05-01 20:02:54