题目链接:http://wikioi.com/problem/1077/
算法与思路:全裸floyd。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n, t, a[105][105];
int x, y;
memset(a, 0, sizeof(a));
scanf("%d", &n);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
scanf("%d", &a[i][j]);
for(int k = 1; k <= n; k++)
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
scanf("%d", &t);
while(t--)
{
scanf("%d %d", &x,&y);
printf("%d\n", a[x][y]);
}
return 0;
}