比赛 NOIP2023模拟赛4 评测结果 ATTTTTTTTT
题目名称 信使 最终得分 10
用户昵称 小金 运行时间 36.000 s
代码语言 C++ 内存使用 5.23 MiB
提交时间 2023-11-16 12:23:25
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
const int N=110,M=9910;
long long p,ans=0;
int n,m,h[N],ne[M],v[M],tot=0,q;
void add(int x,int y)
{
	tot++;
	v[tot]=y;
	ne[tot]=h[x];
	h[x]=tot;
}
void chu(int q,int z,int x,int d)
{
	if(d==0)
	{
		if(x==q)
		{
		   ans=(ans+1)%p;
		}
		return;
	}
	for(int i=h[x];i;i=ne[i])
	{
		int y=v[i];
		if((y!=q&&y!=z)||(y==q&&d-1==0))
		{
			chu(q,z,y,d-1);
		}
	}
}
int main()
{
	freopen("messenger.in","r",stdin);
    freopen("messenger.out","w",stdout);
	cin>>n>>m>>p;
	for(int i=1;i<=m;i++)
	{
		int u,v;
		cin>>u>>v;
		add(v,u);
	}
	cin>>q;
	for(int i=1;i<=q;i++)
	{
		ans=0;
		int a,b,d;
		cin>>a>>b>>d;
		chu(a,b,b,d);
		cout<<ans%p<<endl;
	}
	return 0;
}