以下的代码提交之后,竟然WA了。哪里有错误呢?求大佬帮助!
#include<bits/stdc++.h>
using namespace std;
int n,m,q,z[200000],y[200000][50],x,k,ans,w[200000],t[100000],l;
void dfs(int a,int b,int c) {
ans+=a;
w[a]=1;
l++;
t[l]=a;
if(b==c) return;
for(int s=1;s<=z[a];s++) if(w[y[a][s]]==0) dfs(y[a][s],b+1,c);
}
int main() {
cin>>n>>m;
for(int i=1;i<=m;i++) {
scanf("%d %d",&x,&k);
z[x]++;
y[x][z[x]]=k;
z[k]++;
y[k][z[k]]=x;
}
cin>>q;
for(int i=1;i<=q;i++) {
scanf("%d %d",&x,&k);
ans=0;
l=0;
dfs(x,0,k);
printf("%d\n",ans);
for(int j=1;j<=l;j++) {
w[t[j]]=0;
t[j]=0;
}
}
return 0;
}