2018年长沙理工大学第十三届程序设计竞赛 J杯子
链接:https://www.nowcoder.com/acm/contest/96/J
来源:牛客网
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
durong想知道,要满足当第m个球进去后,杯子中此时恰好有k个球,然后仍然要把剩下的n-m个球放进去,最后杯中的球要取光,这样的放进和拿出球的顺序有多少种,答案有可能很大,所以mod上1e9+7
输入描述:
1<=n,m,k<=1e6(m可能大于n,k可能大于m)
第一行一个正整数T,表示数据组数。(1<=T<=10000)
对于每组数据包含一行三个正整数n,m,k。
输出描述:
对于每组数据输出一个正整数表示答案。
由于答案可能过大,所以只需要输出对1e9+7取模后的答案
输入例子:
2
3 3 3
3 3 2
输出例子:
1
2
-->
输入
2
3 3 3
3 3 2
输出
1
2
#include<cstdio>
using namespace std;
typedef long long ll;
const ll maxn=1e6+;
const ll mod=1e9+;
ll v[*maxn];
void init()
{
v[]=;
for(ll i=;i<*maxn;i++)
v[i]=v[i-]*i%mod;
}
ll exten_gcd(ll a,ll b,ll& x,ll& y)
{
ll d=a;
if(b)
{
d=exten_gcd(b,a%b,y,x);
y-=a/b*x;
}
else x=,y=;
return d;
}
ll niyuan(ll a)
{
ll x,y;
ll s=exten_gcd(a,mod,x,y);
if(s==)return (x%mod+mod)%mod;
return -;
}
ll C(ll n,ll m)
{
ll A=v[n];
ll B=v[m]*v[n-m]%mod;
return A*niyuan(B)%mod;
}
ll suan(ll n,ll m)
{
ll t=n+m;
return (C(t,n)-C(t,n+)+mod)%mod;
}
int main()
{
init();
int T;scanf("%d",&T);
while(T--)
{
ll n,m,k;
scanf("%lld%lld%lld",&n,&m,&k);
if(m>n||k>m)
{
printf("0\n");
continue;
}
ll A,B;
if(m==k)A=;
else A=suan(m-,m-k);
if(n==m)B=;
else B=suan(n-m+k,n-m);
printf("%lld\n",A*B%mod);
}
return ;
}
2018年长沙理工大学第十三届程序设计竞赛 J杯子的更多相关文章
- H-数学考试 想法题+最新头文件 2018年长沙理工大学第十三届程序设计竞赛
https://www.nowcoder.com/acm/contest/96/H 坑点:INF开太小了... #define _CRT_SECURE_NO_WARNINGS #include< ...
- 2018年长沙理工大学第十三届程序设计竞赛 E小木乃伊到我家(spfa模版)
链接:https://www.nowcoder.com/acm/contest/96/E来源:牛客网 小木乃伊到我家 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他 ...
- 2018年长沙理工大学第十三届程序设计竞赛 H数学考试
链接:https://www.nowcoder.com/acm/contest/96/H来源:牛客网 数学考试 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- 2018年长沙理工大学第十三届程序设计竞赛 Dzzq的离散数学教室1
Dzzq的离散数学教室1 链接:https://www.nowcoder.com/acm/contest/96/D来源:牛客网 zzq的离散数学教室1 时间限制:C/C++ 1秒,其他语言2秒 空间限 ...
- 2018年长沙理工大学第十三届程序设计竞赛 G 逃离迷宫 【BFS】
链接:https://www.nowcoder.com/acm/contest/96/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 2018年长沙理工大学第十三届程序设计竞赛 C 取手机 【概率】
链接:https://www.nowcoder.com/acm/contest/96/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 2018年长沙理工大学第十三届程序设计竞赛 E 小木乃伊到我家 【最短路】
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 AA的欧尼酱qwb是个考古学家,有一天qwb发 ...
- 2018年长沙理工大学第十三届程序设计竞赛 I 连续区间的最大公约数
连续区间的最大公约数 思路:参照BZOJ 4488: [Jsoi2015]最大公约数脑补出的一个\(map\)套\(vector\)的写法,写起来比线段树短,运行时间比线段树快. 代码: #pragm ...
- 哈尔滨理工大学第七届程序设计竞赛初赛(BFS多队列顺序)
哈尔滨理工大学第七届程序设计竞赛初赛https://www.nowcoder.com/acm/contest/28#question D题wa了半天....(真真正正的半天) 其实D题本来就是一个简单 ...
随机推荐
- vRO 添加已有磁盘到VM
在vRO实现将已有虚拟机磁盘添加到另外的虚拟机上,以为vRA发布Oracle/SQL集群做准备: // 脚本需要两个输入 vm_obj和diskPathSystem.log("Attempt ...
- repo 小结
repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载.管理Android项目的软件仓库. 1. 下载 repo 的地址: http://android.git.kerne ...
- ios点击事件失效
当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 解决办法有 ...
- 解决Pycharm中matplotlib画图出错问题(AttributeError: module 'matplotlib' has no attribute 'verbose')
最近在Linux中使用pycharm过程中使用matplotlib无法画图,总是提示错误 /usr/bin/python3. /home/leo/PycharmProjects/untitled1/E ...
- hdu 5876 Sparse Graph 无权图bfs求最短路
Sparse Graph Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) P ...
- mvn 用指定setting.xml 执行指定pom.xml
mvn package -f pom.xml -s setting.xml clean install
- JavaScript文件下载 兼容所有浏览器 不可跨域
前端文件下载 兼容所有浏览器 download.js文件下载,几乎支持所有类型下载,详细内容参考官网 http://danml.com/download.html 引入文件 <script sr ...
- release与debug的区别
http://www.cnblogs.com/JemBai/archive/2009/01/13/1374805.html
- asp.net JS取值
<script> $(function () { $.post("RegisterNew.aspx", { "ddlprovince": $(&qu ...
- C++中int转string与string转int
#include "stdafx.h" #include "string" #include "iostream" #include &qu ...