为啥交了好几次都CE??
查看原帖
为啥交了好几次都CE??
203102
Diamiko楼主2021/11/15 11:25

本地一点问题也没有,洛谷评测机也没有返回编译信息?

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
ll f[3000005]={1},p,g[3000005];
ll Pow(ll a,ll b)
{
	a%=p;
	ll ans=1;
	for(;b;b>>=1)
	{
		if(b&1) (ans*=a)%=p;
		(a*=a)%=p;
	}
	return ans;
}
int main()
{
	scanf("%d%lld",&n,&p);
	for(int i=1;i<=n;i++)
	{
		f[i]=(f[i-1]*i)%p;
	}
	g[n]=Pow(f[n],p-2);
	for(int i=n-1;i>=1;i--)
	{
		g[i]=g[i+1]*(long long)(i+1)%p;
	}
	for(int i=1;i<=n;i++)
	{
		printf("%lld\n",g[i]*f[i-1]%p);
	}
	return 0;
}
2021/11/15 11:25
加载中...