hdu6114 Chess
来源:互联网 发布:网络情歌《恋恋红尘》 编辑:程序博客网 时间:2024/06/05 04:39
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6114
题意:中文题
解析:由于题目限制的比较死,上一行的棋子必须在这一行的左边,那么对于一个正方形的棋盘来说,方法数肯定是1的,如果是一个长方形棋盘n*m来说,那就相当于从max(m,n)中选min(m,n)出来,每一列放一个,所以答案就是组合数C(max(n,m),min(n,m)),再加上一个逆元即可
#include <bits/stdc++.h>using namespace std;const int maxn = 1005;const int mod = 1e9+7;typedef long long ll;ll h[maxn];ll qpow(ll x,ll n){ ll res = 1; while(n) { if(n&1) res = res*x%mod; x = x*x%mod; n >>= 1; } return res;}int main(void){ int t; h[0] = 1; for(int i=1;i<maxn;i++) h[i] = (h[i-1]*i)%mod; scanf("%d",&t); while(t--) { int n,m; scanf("%d %d",&n,&m); if(n>m) swap(n,m); ll t1 = h[m]; ll t2 = h[n]; ll t3 = h[m-n]; ll t4 = (1LL*t2*t3)%mod; ll ans = (1LL*t1*qpow(t4,mod-2))%mod; printf("%I64d\n",ans); } return 0;}
阅读全文
0 0
- HDU6114-Chess
- hdu6114 Chess
- HDU6114 Chess(组合数)
- hdu6114.Chess(求组合数)
- 2017百度之星初赛(B)1001Chess------hdu6114
- Hdu6114 Chess( 2017"百度之星"程序设计大赛
- hdu6114 2017"百度之星"初赛(B)1001Chess(dp)
- chess
- Chess
- chess
- chess
- Chess
- Chess
- Chess
- chess
- Chess
- Chess
- O(N)的组合模版 HDU6114
- dding transactional method xxxx.update' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
- 云计算的挑战:规划,流程和人员
- FFMpeg3.3.3编译Android库文件
- 0820 T3 好的网格
- javaseday24补充(基本数据类型流 编码表)
- hdu6114 Chess
- 如何输出对象属性?
- 【itoo】--spring+springmvc+maven+mybatis+Junit
- Socket学习笔记
- 快速枚举
- MAT dump分析程序内存
- 查找元素节点【DOM】
- luacheck 忽略下划线开头的未使用变量
- Java对象内存结构