1 条题解
-
112107张凌睿 (202112107张凌睿) LV 10 @ 2022-09-01 08:37:33
#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll N=1005; int n,i,j=0,m,x=0,y,q,t=0,a[N][N]; int main() { cin>>n>>m; memset(a,999999,sizeof(a)); for(i=1;i<=n;i++) a[i][i]=0; for(i=1;i<=m;i++) { cin>>x>>y; a[x][y]=1; a[y][x]=1; } for(int k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(a[i][j]>a[i][k]+a[k][j]) a[i][j]=a[i][k]+a[k][j]; cin>>q; for(i=1;i<=q;i++) { cin>>x>>y; for(j=1;j<=n;j++) if(a[x][j]+a[j][y]==a[x][y]) t++; cout<<t<<endl; t=0; } return 0; }
- 1