资深守护
https://ke.codingtang.com/#/problem/problemSub?id=2221
#include<bits/stdc++.h>
using namespace std;
long long p,w,mi=1e15+10,t;
long long f[60][60];
char c1,c2;
int bh(char c){
if(c>='A'&&c<='Z')return c-'A'+1;
return c-'a'+27;
}
int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
for(int i=1;i<=60;i++)
for(int j=1;j<=60;j++)
f[i][j]=1e15+10;
cin>>p;
for(int i=1;i<=p;i++){
cin>>c1>>c2>>w;
int t=bh(c1),k=bh(c2);
f[t][k]=w;f[k][t]=w;
}
for(int i=1;i<=52;i++)
f[i][i]=0;
for(int k=1;k<=52;k++)
for(int i=1;i<=52;i++)
for(int j=1;j<=52;j++)
f[i][j]=min(f[i][k]+f[k][j],f[i][j]);
for(int i=1;i<=25;i++)
if(f[i][26]<mi){
mi=f[i][26];
t=i;
}
cout<<char(t-1+'A')<<" "<<mi;
return 0;
}