链接:点击打开链接
题意:有一个自动贩卖机,你想用它来换零钱,你目前有的钱A,想得到B,问最少需要买多少钱东西;
通过观察所给货币的大小可以发现,只有0.01,0.1,1,10是特例,其他货币之间均只要花费0.01元就能得到B,于是要对这四个数据进行特判
然后观察这四种货币:发现,如果A与B相邻(A一定大于B),那么只需要花费0.01元,即可获得B,如果不相邻,可以先花费0.01元获得与B相邻的货币,然后再花费0.01元即可获得B
#include<stdio.h>
using namespace std;
int main()
{
int t,q=0;
scanf("%d",&t);
while(++q<=t)
{
double a,b;
scanf("%lf%lf",&a,&b);
printf("Case #%lld: ",q);
double ans=0.01;
if(b==0.01&&a!=0.02)ans=0.02;
else if(b==0.1&&a!=0.2)ans=0.02;
else if(b==1&&a!=2)ans=0.02;
else if(b==10&&a!=20)ans=0.02;
printf("%.2lf\n",ans);
}
return 0;
}