2903940_ce.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 59 行

C
59
字号
#include <stdio.h>
#include <algorithm>

using namespace std;

bool cmp(int a,int b)
{
	return a > b;
}

int main()
{
	int p, q, r, s;
	int i, m, n;
	int n1, n2;
	int up[20001], down[20001];
	double ans, a, b;

	while(scanf("%d%d%d%d",&p,&q,&r,&s)==4)
	{
		n1 = n2 = 0;
		n = q;
		m = p;
		if (n >= m - n) 
		{
			n = m - n; 
		}
		for (i = m; i >= m-n+1; i--)
		{
			up[n1++] = i;
			down[n2++] = i - m + n;
		}
		n = s;
		m = r;
		if (n >= m - n) 
		{
			n = m - n; 
		}
		for (i = m; i >= m-n+1; i--)
		{
			up[n1++] = i- m + n;
			down[n2++] = i ;
		}
		sort(up,up+n1,cmp);
		sort(down,down+n2,cmp);
		if(n1!=n2)
			while(1)
				puts("I love you");
		ans = 1.0;
		for(i = 0; i < n1; i++)
		{
			a = up[i];
			b = down[i];
			ans *= a/b;
		}
		printf("%.5lf\n",ans);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?