QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#352836 | #6736. Alice and Bob | monster7000 | RE | 0ms | 0kb | C++20 | 978b | 2024-03-13 17:19:14 | 2024-03-13 17:19:14 |
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
int mod=998244353;
const int N=5e6+10;
int ac[N];
int qmi(int a,int b)
{
int res=1;
a%=mod;
while(b)
{
if(b&1)res=(res*a)%mod;
b>>=1;
a=(a*a)%mod;
}
return res%mod;
}
int ca(int n)
{
ac[0]=1;
for(int i=1;i<=n;i++)
{
ac[i]=ac[i-1]*i%mod;
ac[i]=(ac[i]+mod)%mod;
}
}
int a(int n,int m)
{
int aa=1;
for(int i=n;m>=1;i--,m--)
{
aa=aa%mod*i%mod;
aa=(aa+mod)%mod;
}
// cout<<"aa:"<<aa<<endl;
return (aa+mod)%mod;
}
signed main()
{
int n;
cin>>n;
ca(5e6);
//for(int i=1;i<=4;i++)cout<<ac[i]<<endl;
int ans=0;
for(int i=1;i*2<=n+1;i++)
{
// cout<<"a[i] "<<ac[n-i]<<" "<<ac[n-i+1]<<endl;
int tt=ac[n-i]%mod*qmi(ac[n-2*i+1],mod-2)%mod;
// cout<<"i2:"<<tt<<endl;
tt=(tt+mod)%mod;
tt=tt*ac[n-i]%mod;
tt=(tt+mod)%mod;
// cout<<"i:"<<tt<<endl;
ans=(ans+tt)%mod;
ans=(ans+mod)%mod;
}
cout<<(ans+mod)%mod<<endl;;
}
详细
Test #1:
score: 0
Runtime Error
input:
1