Wa 求条
查看原帖
Wa 求条
1034235
Chlero楼主2024/11/24 14:15

Line 2 is wrong

#include<bits/stdc++.h>
#define fastIO (ios::sync_with_stdio(0),cin.tie(0))
#define inv(x) (qpow(x,Mod-2))
using namespace std;

const int N=5e6,Maxn=N+7,Mod=998244353;
typedef long long ll;

ll _,n,m,ans;
ll fac[Maxn],invFac[Maxn],pow5[Maxn],invPow6[Maxn];

//ans=n!*inv((n-m)!)*inv(m!)*5^(n-m)*inv(6^n)

ll qpow(ll a,ll b){
	if(b==0)return 1;
	ll tmp=qpow(a,b>>1);
	if(b&1)return tmp*a%Mod*tmp%Mod;
	return tmp*tmp%Mod;
}

int main()
{
	fastIO;
	
	cin>>_;
	fac[0]=pow5[0]=1;
	for(int i=1;i<=N;i++){
		fac[i]=fac[i-1]*i%Mod;
		pow5[i]=pow5[i-1]*5%Mod;
	}
	
	invFac[N]=inv(fac[N]);
	invPow6[N]=inv(qpow(6,N));
	for(int i=N;i>1;i--){
		invFac[i-1]=invFac[i]*i%Mod;
		invPow6[i-1]=invPow6[i]*6%Mod;
	}
	
	while(_--){
		cin>>n>>m;
		ans^=fac[n]*invFac[n-m]%Mod*invFac[m]%Mod
				*pow5[n-m]%Mod*invPow6[n]%Mod;
	}
	cout<<"tou\n"<<ans;
	return 0;
}
2024/11/24 14:15
加载中...