数据结构:
STL:map
int num, iterator, distance,flag;//若开始与结尾相同则flag=1
int len[155][155]; //最后保存在这里
char begin[30], end[30];
char a[30], b[30];
map<string, int> station; //字符串与数字的对应
代码模板
station.clear();
memset(len, MAX, sizeof(len));
flag = 0;
scanf("%s%s", begin, end);
if(strcmp(begin, end) == 0) flag = 1;
station[begin] = 1;
station[end] = 2;
iterator = 3;
for(int i = 0; i < num; ++i)
{
scanf("%s%s%d", a, b, &distance);
if(!station[a])
station[a] = iterator++;
if(!station[b])
station[b] = iterator++;
len[station[a]][station[b]] = len[station[b]][station[a]] = distance;
}