打Folyd最短路模板后发现无法编译
#include<bits/stdc++.h>
using namespace std;
const int N = 100005;
int n, m, d;
int g[N][N];
void Floyd()
{
for(int k = 1; k <= n; k++)
{
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
g[i][j] = min(g[i][j], g[i][k] + g[k][j]);
}
}
}
}
int main()
{
cin >> n >> m >> d;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
if(i == j)
{
g[i][j] = 0;
}
else
{
g[i][j] = 0x3f3f3f3f;
}
}
}
for(int i = 1; i <= m; i++)
{
int a, b, c;
cin >> a >>b >> c;
g[a][b] = min(g[a][b], c);
}
Floyd();
while(d--)
{
int x, y;
cin >> x >>y;
if(g[x][y] > 0x3f3f3f3f / 2)
{
puts("impossible");
}
else
{
cout << g[x][y];
}
}
return 0;
}