比赛 20251001国庆欢乐赛1 评测结果 WTTTTTTTTT
题目名称 信使 最终得分 0
用户昵称 李奇文 运行时间 44.989 s
代码语言 C++ 内存使用 3.46 MiB
提交时间 2025-10-01 11:23:08
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=20005;
int n,m,q,u,v,d;
long long ans,z;
int tot,nxt[N],to[N],hd[N];
void add(int x,int y){
    to[++tot]=y;
    nxt[tot]=hd[x];
    hd[x]=tot;
}
void dfs(int s,int k){
    if(k==d){
        if(s==v){
            ans++;
        }
        return;
    }
    for(int i=hd[s];i;i=nxt[i]){
        dfs(to[i],k+1);
    }
    return;
}
int main(){
    freopen("messenger.in","r",stdin);
    freopen("messenger.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n>>m>>z;
    for(int i=1;i<=m;i++){
        int a,b;
        cin>>a>>b;
        add(a,b);
    }
    cin>>q;
    while(q--){
        cin>>u>>v>>d;
        ans=0;
        dfs(u,0);
        cout<<ans%z<<"\n"; 
    }
    return 0;
}