ypoj 2286 佳佳买菜

Posted lijianming180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ypoj 2286 佳佳买菜相关的知识,希望对你有一定的参考价值。

题目名称:佳佳买菜

描述

佳佳是我们的ACM社团的副社长,她感觉得自己没存在感,so…
由于实验室要聚餐了,佳佳决定买点菜,来做菜给大家吃。佳佳喜欢吃娃娃菜,于是她来到买菜的地方。
佳佳:我要10斤娃娃菜。
老板称完 10斤一共是20元。
佳佳看这次的菜比以往的少了点,但单纯的佳佳没想太多。一旁的琛哥看了下,把菜篮和娃娃菜一起放在称上,显示是28元,
但篮子的重量是2斤,琛哥直接说:老板还我们10元。
老板愣了一下,还给了佳佳10块钱。

输入

第一行一个整数T表示数据组数。接下来T行,每行输入4个不超过1000且大于零的整数n,a,b,c。其中n表示佳佳要买多少斤娃娃菜,a表示老板称完后娃娃菜的总价,b表示娃娃菜和篮子放在称上显示的价格,c为篮子的重量。

输出

T行每行老板应该退还的钱(保留两位小数)

样例输入

1
10 20 28 2

样例输出

10.00

题解

这道题目是一道比较简单的数学题。根据题意,要求老板应该退换的钱,应为称完的总价a减去菜的实际价值。同时我们可以了解,老板坑钱的方式是改变系数k。因此,菜的实际价值为n/k菜的单价。
其中菜的单价为a/n。对k的求解我们可以利用 大专栏  ypoj 2286 佳佳买菜篮子和菜一起称出的价格,结合篮子重量,得到(n+c
k)*菜单价=b

综上所述,我们可以得到老板退换的钱为a-aac/n/(b-a)

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


int ()
{
int n;
double d,a,b,c;
double k;
scanf("%d",&n);
while(n--)
{
scanf("%lf%lf%lf%lf",&d,&a,&b,&c);
k=a-a*a*c/d/(b-a);
printf("%.2lfn",k);
}
return 0;
}

以上是关于ypoj 2286 佳佳买菜的主要内容,如果未能解决你的问题,请参考以下文章

csp 201809-2 买菜

结对编程总结,收获和教训:by张惠雨&梁佳佳

佳佳是队长队

P1875 佳佳的魔法药水

P1875 佳佳的魔法药水

洛谷—— P1875 佳佳的魔法药水