提交时间:2025-05-11 16:16:10
运行 ID: 37842
#include<bits/stdc++.h> #define int long long using namespace std; const int mod=998244353; const int N=3e6+7; int f[N]; inline void Init(){ f[0]=1; for(int i=1;i<N;i++)f[i]=f[i-1]*i%mod; for(int i=1;i<N;i++)(f[i]*=f[i-1])%=mod; } inline int qpow(int a,int b){ int Ans=1; while(b){ if(b&1)Ans=Ans*a%mod; a=a*a%mod;b>>=1; }return Ans; } inline int Func(int a,int b,int c){ if(a<1||b<1||c<1)return 0; int U=f[a+b+c-1]*f[a-1]%mod*f[b-1]%mod*f[c-1]%mod; int D=f[a+b-1]*f[a+c-1]%mod*f[b+c-1]%mod; return U*qpow(D,mod-2)%mod; } signed main(){ freopen("mountain.in","r",stdin); freopen("mountain.out","w",stdout); Init(); int n,m,k; cin>>n>>m>>k; cout<<(Func(n,m,k)-Func(n,m,k-1)+mod)%mod<<endl; return 0; }