感谢每一位帮助我的人,谢谢你们!
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn = 205;
const int INF = 999999999;
int a[maxn][maxn];
int main()
{
int i, j,n,m,q;
while(scanf("%d%d",&n,&m)==2)
{
if(n==0&&m==0) break;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
{ if(i==j) a[i][i]=0;
else a[i][j]=INF;
}//初始化
for( i=0;i<m;i++)
{
int k,j,l;
cin>>k>>j>>l;
if(l<a[k][j])
{a[k][j]=l;a[j][k]=l;}
}//赋值
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=(a[i][k]+a[k][j])<a[i][j]?(a[i][k]+a[k][j]):a[i][j];//floyd
scanf("%d",&q);
while(q--)
{
int u,v;
scanf("%d%d",&u,&v);
printf("%d\n",a[u][v]);
}
}
return 0;
}