求助,暴力思路为什么不对?
查看原帖
求助,暴力思路为什么不对?
907667
thousands_of_years楼主2024/12/1 17:44

相邻变量都有值乘上(v*(v-1)+1) 否则 乘上 v*v

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int a[10000000];
 main()
{
	int T;
	cin>>T;
	while(T--)
	{
		int n,m,v;
		cin>>n>>m>>v;
		bool io=0;
		for(int i=1;i<=m;i++)
		{
			int l,r;
			cin>>l>>r;
			if(a[l]!=r && a[l]!=0)
			io=1;
			a[l]=r;
		}
		int ans=1;
		for(int i=2;i<=n;i++)
		{
			if(a[i] && a[i-1])
			ans=(ans*((v-1)*v%mod+1))%mod;
			else
			ans=ans*v%mod*v%mod;
		}
		if(!io)
		cout<<ans<<endl;
		else
		cout<<0<<endl;
		for(int i=1;i<=n;i++)
		a[i]=0; 
	}
	return 0;
}

2024/12/1 17:44
加载中...