HDU 6114 Chess
2024-08-26 00:22:58
思路:求C(n,m),除法取余用乘法逆元算。
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset((a),(b),sizeof(a))
const int MOD=1e9+; ll e_gcd(ll a,ll b,ll &x,ll &y)
{
if(!b)
{
x=;
y=;
return a;
}
ll ans=e_gcd(b,a%b,x,y);
ll temp=x;
x=y;
y=temp-a/b*y;
return ans;
}
ll inv(ll a,ll n)
{
ll x,y,d=e_gcd(a,n,x,y);
if(d==)return (x%n+n)%n;
else return -;
} ll C(ll n,ll m)
{
ll ans=;
for(ll i=n;i>=n-m+;i--)ans=(ans*i)%MOD;
for(ll i=;i<=m;i++)ans=((ans%MOD)*(inv(i,MOD)%MOD))%MOD;
return ans;
}
int main()
{
int n,m;
int t;
cin>>t;
while(t--)
{
cin>>n>>m;
if(n<m)swap(n,m);
int ans=C(n,m);
cout<<ans<<endl;
}
return ;
}
最新文章
- 【.net深呼吸】(WCF)OperationContextScope 的用途
- Ubuntu .deb包安装方法
- php session的理解与使用
- universal image loader自己使用的一些感受
- [NOIP摸你赛]Hzwer的陨石(带权并查集)
- C语言中scanf()的用法!
- [转载]&ldquo;浅拷贝&rdquo;与&ldquo;深拷贝&rdquo;
- [转载]CAD文件版本
- Nodejs in Visual Studio Code 05.Swig+Bootstrap
- [刷题]算法竞赛入门经典(第2版) 5-16/UVa212 - Use of Hospital Facilities
- 根据百度,gps坐标获取天气
- 【算法】论平衡二叉树(AVL)的正确种植方法
- mysql 导出每张表中的100条数据..............
- canvas练手项目(一)——选取图片
- 图解Raft之日志复制
- mysql 表结构及基本操作
- 【mmall】学习Spring要善用Spring的Github
- Modbus库开发笔记之十:利用协议栈开发Mosbus RTU Slave应用
- 11: python递归
- 虚拟机安装以及PCL的配置(1)