UVA12502 Three Families 题解

Content

\(\text{A,B,C}\) 三家每一家都要轮流弄家务活。但上一周,\(\text{C}\) 家旅游去了,所以 \(\text{A}\) 家帮忙做了 \(x\) 个小时的家务,\(\text{B}\) 家帮忙做了 \(y\) 个小时的家务。这周回来后,\(\text{C}\) 家决定支付酬薪 \(z\) 元,求 \(\text{A}\) 家能够分配到的钱数。

数据范围:\(1\leqslant x\leqslant y\leqslant10,1\leqslant z\leqslant1000\)。

Solution

我们看到题面给出的样例,即为 \(x=5,y=4,z=90\) 时的情况:

虽然按照劳动时间分配,确实,\(\text{A}\) 家会分配到 \(90\div(5+4)\times5=50\) 元。

但是真是这样吗?

他们三家总共要平均分配 \(x+y\) 小时的家务,所以每个家庭都应该做的家务时长是 \(\dfrac{x+y}{3}\) 小时。

所以,我们应该按照 \(\text{A,B}\) 两家帮 \(\text{C}\) 家多做的时间来进行分配。

很显然,\(\text{A}\) 家多做的时间是 \(x-\dfrac{x+y}{3}=\dfrac{2x-y}{3}\) 个小时,\(\text{B}\) 家多做的时间是 \(y-\dfrac{x+y}{3}=\dfrac{2y-x}{3}\) 个小时。

所以他们多做的时间比例为 \(\dfrac{2x-y}{3}:\dfrac{2y-x}{3}=2x-y:2y-x\)。

所以 \(\text{A}\) 家的分配比例 \(P\) 为:\(\dfrac{2x-y}{2x-y+2y-x}=\dfrac{2x-y}{x+y}\)。

所以 \(\text{A}\) 家应分配 \(z\times P=\dfrac{z(2x-y)}{x+y}\) 元。

Code

#include <cstdio>
#include <algorithm>
using namespace std;

int main() {
	int x, y, z, t;
	scanf("%d", &t);
	while(t--) {
		scanf("%d%d%d", &x, &y, &z);
		printf("%d\n", z * (2 * x - y) / (x + y));
	}
	return 0;
}
上一篇:2021 CCPC 桂林站 A.A Hero Named Magnus


下一篇:微积分(A)随缘一题[7]