比赛 20251001国庆欢乐赛1 评测结果 WTTTTTEEEE
题目名称 信使 最终得分 0
用户昵称 ChenBp 运行时间 25.001 s
代码语言 C++ 内存使用 3.56 MiB
提交时间 2025-10-01 10:41:23
显示代码纯文本
#include <iostream>
#include <cstring>
using namespace std;
const int N=102,M=N*N;
int head[N],nxt[M],to[M],num=0;
void add(int x,int y){
    num++;
    to[num]=y;
    nxt[num]=head[x];
    head[x]=num;
}
int n,m,z,q,u,v,d;
int ans;
void dfs(int now,int nd){
//    cout<<"1"<<now<<endl;
    if(now==v){
        if(nd==d) ans++;
        return;
    }
    if(nd>=d) return;
    for(int i=head[now];i;i=nxt[i]){
        dfs(to[i],nd+1);
    }
//    cout<<"2"<<now<<endl;
}
int main(){
    freopen("messenger.in","r",stdin);
    freopen("messenger.out","w",stdout);
    cin>>n>>m>>z;
    if(n>30) return 1;
    for(int i=1;i<=m;i++){
        cin>>u>>v;
        add(u,v);
    }
    cin>>q;
    while(q--){
        cin>>u>>v>>d;
        ans=0;
        dfs(u,0);
        cout<<ans<<endl;
    }
    return 0;
}