题解:UVA12725 Fat and Orial

UVA12725

题目大意

小明已经考了 AA 场考试,这 AA 场考试他的平均分为 NN;他希望再考 BB 场考试,希望这 (A+B)(A+B) 场考试的平均分为 MM,求他在接下来 BB 场考试中的平均分。(0N,M100 \le N,M \le 101A,B1001 \le A,B \le 100

输入有多组数据。

解题思路

根据题意,小明前 AA 场考试的总分为

S1=A×NS_1=A \times N

若想要总的均分为 MM,则所有考试的总分为

S=M×(A+B)S=M \times (A+B)

所以后 BB 场考试的总分为

S2=SS1=M×(A+B)A×NS_2=S-S_1=M \times (A+B)-A \times N

因此后 BB 场考试的均分为

xˉ=S2B=M×(A+B)A×NB\bar{x}= \frac{S_2}{B}=\frac{M \times (A+B)-A \times N}{B}

即为所求。

值得注意的是,如果 xˉ[0,10]\bar{x} \notin \left[0,10 \right],需要输出 Impossible

代码

#include<cstdio>
double n,m,a,b,ans;
int T,t;

int main()
{
	scanf("%d",&T);
	while (T--)
	{
		scanf("%lf%lf%lf%lf",&n,&m,&a,&b);
		ans=(double)(m*(a+b)-n*a)/b;
		if (ans>10||ans<0) printf("Case #%d: Impossible\n",++t);
		else printf("Case #%d: %.2lf\n",++t,ans);
	}
	return 0;
}

注释就不放了,前面都说得很清楚了。


题解:UVA12725 Fat and Orial
https://pvbelln.github.io/2025/07/05/sol-uva12725/
作者
PvbeLLN
发布于
2025年7月5日
许可协议