【郑轻邀请赛 I】这里是天堂!
2024-10-21 06:43:57
【题目链接】:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2135
【题意】
【题解】
答案应该为C(n,a)∗C(m,b)/C(n+m,a+b);
但是要特判一些为0的情况吧
比如
a>n
b>m
以及
当a+b==n+m的时候,k< a+b
当a+b< n+m的时候k!=a+b
【Number Of WA】
0
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define rep1(i,x,y) for (int i = x;i <= y;i++)
#define LL long long
const int N = 20+5;
int n,m,a,b,k;
LL c[N][N];
int main()
{
//freopen("D:\\rush.txt","r",stdin);
rep1(i,0,20)
{
c[i][i] = c[i][0] = 1;
}
rep1(i,2,20)
rep1(j,1,i-1)
c[i][j] = c[i-1][j]+c[i-1][j-1];
int T;
cin >> T;
while (T--)
{
cin >> n >> m >> k >> a >> b;
if (a>n || b>m)
{
puts("0 1");
continue;
}
if (a+b==n+m)
{
if (k>=(a+b))
puts("1 1");
else
{
puts("0 1");
continue;
}
}
else
{
//a+b<n+m
if (k!=(a+b))
{
puts("0 1");
continue;
}
else
{
LL fz = c[n][a]*c[m][b],fm = c[n+m][a+b];
LL divisor = __gcd(fz,fm);
fz/=divisor,fm/=divisor;
cout << fz << ' ' << fm<<endl;
}
}
}
return 0;
}
最新文章
- win10常用帮助
- yaf设置命名空间
- python递归次数和堆栈溢出问题
- (Python学习4)List对象
- Document root element ";configuration";, must match DOCTYPE root ";mapper";.
- 字符模型和Windows等价程序
- js打开新页面 关闭当前页 关闭父页面
- BZOJ 1574: [Usaco2009 Jan]地震损坏Damage
- C语言的算法--------二分法查找
- C#打印条码BarTender SDK打印之路和离开之路(web平凡之路)
- 【Oracle】物理体系结构
- LoadRunner如何进行移动端性能测试
- image图片拉伸
- java循环
- opencv 基本绘图函数
- Win 及 Linux 查找mac地址的方法
- metasploit使用
- JS_高程8.BOM window对象(1)
- JAVA的三个版本EE,SE,ME
- python 拷贝文件
热门文章
- 【CodeForces】166&#39;E
- C++11系列-什么是C++11
- SpringMVC+MyBaties关于上传(跟新)图片的问题
- 05、ListActivity的使用
- 织梦dedecms标签大全总结
- 9.22 NOIP模拟题
- ansible剧本
- Mac OS安装octave出现的问题-&#39;error:terminal type set to &#39;unknown&#39;的解决&#39;
- RabbitMQ~消费者实时与消息服务器保持通话
- Web程序安全机制