/*
ID: jamesge1
LANG:C++
TASK:comehome
*/
#include <iostream>
#include <fstream>
using namespace std;
int getint(char a);
const int maxi=1000000000;
int main()
{
ifstream fin("comehome.in");
ofstream fout("comehome.out");
int p,in[53][53];
int i,j,k;
int x,y,dist;
int res=2147483647,pos;
char a,b;
for (i=0;i<=52;++i)
for (j=0;j<=52;++j) in[i][j]=maxi;
fin>>p;
for (i=0;i<p;++i)
{
fin>>a;
x=getint(a);
fin>>b;
y=getint(b);
fin>>dist;
if (dist<in[x][y])
{
in[x][y]=dist;
in[y][x]=dist;
}
}
for (i=1;i<=52;++i)
for (j=1;j<=52;++j)
for (k=1;k<=52;++k) in[j][k]=min(in[j][k],in[j][i]+in[i][k]);
for (i=1;i<=25;++i)
{
if (in[i][26]<res)
{
res=in[i][26];
pos=i;
}
}
a=pos+'A'-1;
fout<<a<<' '<<res<<endl;
return 0;
}
int getint(char a)
{
if (a>='a' && a<='z') return (a-'a'+27);
if (a>='A' && a<='Z') return (a-'A'+1);
}
评论0