旗木雙翼 逆元

2022-03-19 19:12:31 字數 1270 閱讀 6685

菲菲和牛牛在一塊n行m列的棋盤上下棋,菲菲執黑棋先手,牛牛執白棋后手。

棋局開始時,棋盤上沒有任何棋子,兩人輪流在格仔上落子,直到填滿棋盤時結束。落子的規則是:乙個格仔可以落子當且僅當這個格仔內沒有棋子且這個格仔的左側及上方的所有格仔內都有棋子。

_itachi聽說有不少學弟在省選現場ac了d1t1,解決了菲菲和牛牛的問題,但是_itachi聽說有的人認為複雜度玄學,_itachi並不想難為學弟學妹,他想為大家節約時間做剩下的題,所以將簡化版的d1t1帶給大家。

_itachi也在一塊n行m列的棋盤上下棋,不幸的是_itachi只有黑棋,不過幸好只有他乙個人玩。現在,_itachi想知道,一共有多少種可能的棋局(不考慮落子順序,只考慮棋子位置)。

_itachi也不會為難學弟學妹們去寫高精度,所以只需要告訴_itachi答案mod 998244353(乙個質數)的結果。

第一行包括兩個整數n,m表示棋盤為n行m列。

乙個整數表示可能的棋局種數。

樣例輸入1

1 1

樣例輸出1

2

樣例輸入2

2 3

樣例輸出2

10

樣例輸入3

10 10

樣例輸出3

184756

對於 20%的資料n,m<=10

對於 30%的資料n,m<=20

另有 20%的資料n<=5

另有 20%的資料m<=5

對於100%的資料n,m<=100000

#include#include#include#includeusing namespace std;

typedef long long ll;

const ll mod = 998244353;

ll jc(ll x)

return ret;

}ll quickpow(ll a,ll n,ll p)

return ans;

}ll ny(ll a,ll p)

int main()