Submission #2335187
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define int long long #define rep(i,n) for(int i=0;i<(n);i++) #define pb push_back #define all(v) (v).begin(),(v).end() #define fi first #define se second typedef vector<int>vint; typedef pair<int,int>pint; typedef vector<pint>vpint; template<typename A,typename B>inline void chmin(A &a,B b){if(a>b)a=b;} template<typename A,typename B>inline void chmax(A &a,B b){if(a<b)a=b;} const int mod=998244353; inline void add(int &a,int b){ a+=b; if(a>=mod)a-=mod; } int mpow(int n,int m){ int ret=1; while(m){ if(m&1)ret=ret*n%mod; n=n*n%mod; m>>=1; } return ret; } const int FACT_SIZE=1111111; int fact[FACT_SIZE]; int inv[FACT_SIZE]; struct fact_exec{ fact_exec(){ fact[0]=1; for(int i=1;i<FACT_SIZE;i++)fact[i]=fact[i-1]*i%mod; inv[FACT_SIZE-1]=mpow(fact[FACT_SIZE-1],mod-2); for(int i=FACT_SIZE-2;i>=0;i--)inv[i]=inv[i+1]*(i+1)%mod; } }factexec; int nCk(int n,int k){ if(n<0|k<0||k>n)return 0; return fact[n]*inv[k]%mod*inv[n-k]%mod; } int nPk(int n,int k){ if(n<0||k<0||k>n)return 0; return fact[n]*inv[n-k]%mod; } signed main(){ int H,W; cin>>H>>W; if(H>W)swap(H,W); int ans=0; add(ans,(W-H)*nCk(H+W,W)%mod); int ei=nCk(2*H-1,H-1); for(int i=0;i<H;i++){ add(ans,ei); int tmp=nCk(W-H+i+1+i,i); tmp=tmp*nCk(H-1-i+H-2-i,H-1-i)%mod; add(ei,mod-tmp); tmp=nCk(W-H+i+i+1,i+1); tmp=tmp*nCk(H-2-i+H-1-i,H-1-i)%mod; add(ei,tmp); } ei=nCk(H+W,W); for(int i=0;i<H;i++){ add(ans,ei); int tmp=nCk(W-H+i+i,i); tmp=tmp*nCk(H-i+H-2-i,H-2-i)%mod; add(ei,mod-tmp); tmp=nCk(W-H+1+i+i-1,i-1); tmp=tmp*nCk(H-1-i+H-1-i,H-1-i)%mod; add(ei,tmp); } ans=ans*mpow(nCk(W+H,W),mod-2)%mod; cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Yes or No |
User | latte0119 |
Language | C++14 (GCC 5.4.1) |
Score | 2000 |
Code Size | 2011 Byte |
Status | AC |
Exec Time | 44 ms |
Memory | 17664 KB |
Judge Result
Set Name | Sample | Partial | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1500 / 1500 | 500 / 500 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt |
Partial | sample_01.txt, sample_02.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_2_01.txt, subtask_2_02.txt, subtask_2_03.txt, subtask_2_04.txt, subtask_2_05.txt, subtask_2_06.txt, subtask_2_07.txt, subtask_2_08.txt, subtask_2_09.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_28.txt, subtask_2_29.txt, subtask_2_30.txt, subtask_2_31.txt, subtask_2_32.txt, subtask_2_33.txt, subtask_2_34.txt, subtask_2_35.txt, subtask_2_36.txt, subtask_2_37.txt, subtask_2_38.txt, subtask_2_39.txt, subtask_2_40.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 17 ms | 17664 KB |
sample_02.txt | AC | 16 ms | 17664 KB |
sample_03.txt | AC | 16 ms | 17664 KB |
sample_04.txt | AC | 16 ms | 17664 KB |
sample_05.txt | AC | 17 ms | 17664 KB |
subtask_1_01.txt | AC | 17 ms | 17664 KB |
subtask_1_02.txt | AC | 16 ms | 17664 KB |
subtask_1_03.txt | AC | 17 ms | 17664 KB |
subtask_1_04.txt | AC | 17 ms | 17664 KB |
subtask_1_05.txt | AC | 17 ms | 17664 KB |
subtask_1_06.txt | AC | 17 ms | 17664 KB |
subtask_1_07.txt | AC | 17 ms | 17664 KB |
subtask_1_08.txt | AC | 17 ms | 17664 KB |
subtask_1_09.txt | AC | 16 ms | 17664 KB |
subtask_1_10.txt | AC | 16 ms | 17664 KB |
subtask_1_11.txt | AC | 17 ms | 17664 KB |
subtask_1_12.txt | AC | 17 ms | 17664 KB |
subtask_1_13.txt | AC | 17 ms | 17664 KB |
subtask_1_14.txt | AC | 18 ms | 17664 KB |
subtask_1_15.txt | AC | 22 ms | 17664 KB |
subtask_1_16.txt | AC | 22 ms | 17664 KB |
subtask_1_17.txt | AC | 22 ms | 17664 KB |
subtask_1_18.txt | AC | 22 ms | 17664 KB |
subtask_1_19.txt | AC | 22 ms | 17664 KB |
subtask_1_20.txt | AC | 22 ms | 17664 KB |
subtask_1_21.txt | AC | 22 ms | 17664 KB |
subtask_1_22.txt | AC | 22 ms | 17664 KB |
subtask_1_23.txt | AC | 22 ms | 17664 KB |
subtask_1_24.txt | AC | 21 ms | 17664 KB |
subtask_1_25.txt | AC | 21 ms | 17664 KB |
subtask_2_01.txt | AC | 17 ms | 17664 KB |
subtask_2_02.txt | AC | 17 ms | 17664 KB |
subtask_2_03.txt | AC | 16 ms | 17664 KB |
subtask_2_04.txt | AC | 43 ms | 17664 KB |
subtask_2_05.txt | AC | 43 ms | 17664 KB |
subtask_2_06.txt | AC | 43 ms | 17664 KB |
subtask_2_07.txt | AC | 44 ms | 17664 KB |
subtask_2_08.txt | AC | 43 ms | 17664 KB |
subtask_2_09.txt | AC | 43 ms | 17664 KB |
subtask_2_10.txt | AC | 43 ms | 17664 KB |
subtask_2_11.txt | AC | 43 ms | 17664 KB |
subtask_2_12.txt | AC | 43 ms | 17664 KB |
subtask_2_13.txt | AC | 43 ms | 17664 KB |
subtask_2_14.txt | AC | 43 ms | 17664 KB |
subtask_2_15.txt | AC | 43 ms | 17664 KB |
subtask_2_16.txt | AC | 43 ms | 17664 KB |
subtask_2_17.txt | AC | 43 ms | 17664 KB |
subtask_2_18.txt | AC | 41 ms | 17664 KB |
subtask_2_19.txt | AC | 37 ms | 17664 KB |
subtask_2_20.txt | AC | 17 ms | 17664 KB |
subtask_2_21.txt | AC | 17 ms | 17664 KB |
subtask_2_22.txt | AC | 16 ms | 17664 KB |
subtask_2_23.txt | AC | 16 ms | 17664 KB |
subtask_2_24.txt | AC | 16 ms | 17664 KB |
subtask_2_25.txt | AC | 17 ms | 17664 KB |
subtask_2_26.txt | AC | 17 ms | 17664 KB |
subtask_2_27.txt | AC | 17 ms | 17664 KB |
subtask_2_28.txt | AC | 17 ms | 17664 KB |
subtask_2_29.txt | AC | 18 ms | 17664 KB |
subtask_2_30.txt | AC | 22 ms | 17664 KB |
subtask_2_31.txt | AC | 27 ms | 17664 KB |
subtask_2_32.txt | AC | 43 ms | 17664 KB |
subtask_2_33.txt | AC | 43 ms | 17664 KB |
subtask_2_34.txt | AC | 43 ms | 17664 KB |
subtask_2_35.txt | AC | 43 ms | 17664 KB |
subtask_2_36.txt | AC | 43 ms | 17664 KB |
subtask_2_37.txt | AC | 28 ms | 17664 KB |
subtask_2_38.txt | AC | 20 ms | 17664 KB |
subtask_2_39.txt | AC | 41 ms | 17664 KB |
subtask_2_40.txt | AC | 21 ms | 17664 KB |