Floyd 求最短路径
#include
using namespace std;
int main()
{
int t,i,j,k,ans[60][60],n,m,a,b;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
ans[i][j]=11111;
}
}
while(m--){
scanf("%d%d",&a,&b);
ans[a][b]=ans[b][a]=1;
}
for(k=1;k<=n;k++){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(ans[i][k]==11111||ans[k][j]==11111) continue;
if(ans[i][j]==11111||ans[i][k]+ans[k][j]