1202 fudq's New Job(这个题挺有意思的)
来源:互联网 发布:三娃被软件缠住过程 编辑:程序博客网 时间:2024/06/07 17:13
fudq's New Job
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:45 测试通过:16
描述
自古云:“钱不是万能的,但是没有钱是万万不能的。”
fudq幻想着每天能够睡觉睡到自然醒,然后数钱数到手抽筋。于是他到银行找了一份数钱的工作,可惜数的是别人的钱……
fudq的工作很简单:客户提出需要m人民币,但是币种只能在闭区间[a,b]内,每种币种的数量没有限制,可以取很多,也可以不取。fudq只需要按照客户需求把钱数好准备好即可。
例如m=12,a=3,b=5,则fudq可以准备1枚3元,1枚4元,1枚5元的钱币,也可以准备3枚4元的钱币,但是不可以准备1枚4元,1枚8元的钱币,因为8元不在给出的区间内。
现在fudq想让你帮帮忙,问给出m,a,b,判断fudq是否能够按要求准备好钱币。
输入
输入有多组数据,每组的第一行是一个正整数T(1<=T<=100).
接下来有T行,代表T组测试数据,每组数据输入三个正整数m,a,b(1<=m,a,b<=10^9, a<=b).
输出
对应每组输入,请判断fudq能否按按要求准备好钱币,如果可以输出“Yes”,否则输出“No”。
样例输入
2
5 2 3
6 4 5
1
7 5 6
样例输出
Yes
No
No
代码:
//#define LOCAL#include<stdio.h>int main(){int t;#ifdef LOCALfreopen("Data.txt","r",stdin);freopen("Out.txt","w",stdout);#endifwhile(scanf("%d",&t)!=EOF){while(t--){long long int m,a,b;scanf("%I64d%I64d%I64d",&m,&a,&b);if(a==b){if(m%a==0)printf("Yes\n");elseprintf("No\n");}else{if(m<a)printf("No\n");else if(m<=b)printf("Yes\n");else{if(m%a==0)printf("Yes\n");else{long long int x=m%a;long long int y=m/a;long long int z=b-a;if(z*y>=x)printf("Yes\n");elseprintf("No\n");}}}}}return 0;}
总结:这题是贾梓健告诉我做的。。一开始老想着m=x1*a+x2*(a+1)+x3*(a+2)+...+xn+1*(a+n)这个方程是否成立。。。可能这样也可以判断。。无奈我数论水平不高,没法往下做,下面讲贾梓健告诉我的方法。
就拿m=41,a=6,b=8来讲。m/a=6......5,也就是说m==6+6+6+6+6+6+5==6+6+6+6+6+7+4==6+6+6+6+7+7+3==6+6+6+6+8+7+2==6+6+6+7+8+7+1==6+6+6+7+8+8.其实就是在不超过b的情况下把余数加到a上来。那么判断条件就出来了,
int x=m%a; //余数
int y=m/a; //最多可以有几个数相加。
int z=b-a;
if(z*y>=x)
printf("Yes\n");
else
printf("No\n");
这就是最后的判断条件,等价于把余数细分加入到a上面从而想办法凑出一个m。int y=m/a; //最多可以有几个数相加。
int z=b-a;
if(z*y>=x)
printf("Yes\n");
else
printf("No\n");
如果即使是y(最多)个(b-a)相加也不会大于余数x,就等价于y*8<m,就不行 输出No。
0 0
- 1202 fudq's New Job(这个题挺有意思的)
- 1185 fudq and New Year's Eve party
- 记住这个有意思的结果
- 绝对不知道你的浏览器还有这个功能!!!(很有意思的) (转载)
- 一道有意思的笔试题引发的对于new操作符的思考
- 挺有意思的题(数独)poj2676
- 这个replace命令有意思!
- 这个论坛很有意思
- 这个比赛真有意思
- codingbat这个有意思。^_^
- 很有意思的软件产品宣传画,这个美工很有创意
- 第三周项目4-这个时间玩的有意思
- 挺有意思的一道数学推理题
- 真的挺有意思
- 感觉挺有意思的
- 挺有意思的
- 挺有意思的文章。。。
- 挺有意思的
- dwr入门
- 【AC自动机】 HDU 2896 病毒侵袭
- 网上搜集的兼容性处理方式
- JDK常用类_lang
- 数据库命令和固定集合
- 1202 fudq's New Job(这个题挺有意思的)
- Understanding users’ behavior with software operation data mining
- 找到的一些好资源
- uva 11489
- 安装redis中遇到的问题
- Java的函数到底是传值?传引用?还是……
- 寻找突破点
- open_cursors 与 ORA-01000
- 交流接触器CJX2的学习