题目描述
输入格式
第一行包括两个整数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)
code
/*
1 2 3 4 5 6 7 3
*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 998244353;
int ny(int a){
int ans=1;
int n=mod-2;
while(n){
if(n&1)ans=ans*a%mod;
a=a*a%mod;
n>>=1;
}
return ans;
}
long long jc(int x){
long long ans = 1;
for(int i=1;i<=x;i++)
ans=ans*i%mod;
return ans;
}
signed main(){
int n,m;cin>>n>>m;
int tmp=jc(n)*jc(m)%mod;
int ans=jc(n+m)*ny(tmp)%mod;
return cout<<ans<<endl,0;
}
Android开发者掘金(2)—技术篇
Android开发者掘金(3) 未来
在Android应用中放置AdMob广告的详细教程
ant build apk
手机产品设计中的 15 大禁忌
Android开发者掘金(1)
项目团队技术个人(专业篇)
#pragram预处理指令
c++ 异常机制