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
AC × 5
AC × 28
AC × 75
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