HDU 1204(糖果大战)

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
const double eps = 1e-12;

int main()
{
	int n, m;
	double p, q, lambda;
	while (cin >> n >> m >> p >> q)
	{
		if (n == 0)
		{
			cout << "0.00" << endl;
			continue;
		}
		if (m == 0)
		{
			cout << "1.00" << endl;
			continue;
		}
		else if (p == 0.0 || q == 1.0)
		{
			cout << "0.00" << endl;
			continue;
		}

		lambda = q * (1 - p) / p / (1 - q);
		if (fabs(lambda - 1.0) < eps)
			cout << fixed << setprecision(2) << double(n) / (n + m) << endl;
		else
			cout << fixed << setprecision(2) << (1 - pow(lambda, n)) / (1 - pow(lambda, n + m)) << endl;
	}
	return 0;
}
发布了138 篇原创文章 · 获赞 1 · 访问量 7007

猜你喜欢

转载自blog.csdn.net/Intelligence1028/article/details/104614849
hdu