2018/7/31 -zznu-oj -问题 C: 磨刀- 【扩展欧几里得算法的基本应用】

问题 C: 磨刀

时间限制: 1 Sec  内存限制: 128 MB
提交: 190  解决: 39
[提交] [状态] [讨论版] [命题人:admin]

题目描述

磨刀是一个讲究的工作,只能在n℃下进行,所以我们首先要做的就是把刀的表面温度提升到n℃。
处理刀身温度有两种方式:
    1.淬火,使刀身温度提高a℃;
    2.冰敷,使刀身温度降低b℃。
宝儿姐想知道,能否经过多次处理,使得刀身温度达到n℃。

输入

每组输入包含一行:包含三个非负整数n, a, b,含义如上文,数据范围均不超过2^63,输入已EOF结束 

输出

根据计算,输出“YES”或“NO”。 

样例输入

3 6 9

样例输出

YES

提示

对于第一个样例先冰敷使刀身温度降至-9℃,在淬火使刀身温度升至3℃即可 。
刀身起始温度为0 。

 


 

大致思路:

  1、第一眼想到bfs,其实不行,数据返回太大,毕竟数据范围均不超过2^63!

  2、用longlong来存储所有数据!

  3、本题求的是一个方程式:a*x+b*y=n, x表示a磨刀的次数,y表示b磨刀的次数!当然了x和y在应用扩展欧几里得算法的时候会出现负值的情况,需要剔除掉这些情况|!

  4、初始温度为0,看‘’提示‘’得到的信息!一点瑕疵!

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<string.h>
 4 #include<string>
 5 #include<algorithm>
 6 #define ll long long
 7 using namespace std;
 8 #define N 100
 9 
10 ll exgcd(ll a,ll b,ll x,ll y){
11     if(!b)
12     {
13         x=1;y=0;return a;
14     }
15     else{
16 
17         ll r=exgcd(b,a%b,y,x);
18         y-=a/b*x;
19         return r;
20     }
21 
22 }
23 
24 int main(){
25     ll n,a,b;
26     while(scanf("%lld%lld%lld",&n,&a,&b)!=EOF){
27         ll r, x,y;
28         r=exgcd(a,b,x,y);
29         if(n%r==0&&x>=0&&y>=0)
30             printf("YES\n");
31         else
32             printf("NO\n");
33     }
34 
35     return 0;
36 }
View Code

 

转载于:https://www.cnblogs.com/zhazhaacmer/p/9399506.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

统计各个函数的耗时_分享一次CMS GC耗时狠高优化过程全记录

1. 背景多个业务线的应用出现LongGC告警最近一段时间&#xff0c;经常收到CAT报出来的Long GC告警(配置为大于3秒的为Longgc)。2. 知识回顾2.1 JVM堆内存划分新生代(Young Generation)新生代内被划分为三个区&#xff1a;Eden&#xff0c;from survivor&#xff0c;to survivor…

用JDBC直连方式访问SQL Server 2005详解

用JDBC直连方式访问SQL Server 2005详解 1.安装JDK&#xff0c;配置其环境变量&#xff1a;(笔者所用版本为1.6版) &#xff08;1&#xff09;从官方网http://java.sun.com/jdk下载安装文件。 &#xff08;2&#xff09;安装下载下来的安装包&#xff0c;按照提示安装成…

string类有可以调换方向的函数吗_深度剖析C++中的inline函数

点蓝色字关注“CurryCoder”微信公众号&#xff1a;CurryCoder的程序人生 怕什么真理无穷&#xff0c;进一寸有一寸的欢喜1.inline函数的爱恨两难内联函数比宏优点好很多&#xff0c;详细原因请参见尽量以const、enum、inline替换#define 。调用内联函数不需要承受函数调用所导…

javafx基础教程_JavaFX教程–基础

javafx基础教程JavaFX似乎正在RIA领域获得发展。 有了正确的工具和开发支持&#xff0c;它肯定会成为下一个最佳技术“物”的代价。 我没有在这里写任何JavaFX评论&#xff0c;因为有很多技术评论可能对它进行了广泛的评论&#xff0c;但是&#xff0c;我将编写一个简单的教程&…

prepareStatement与Statement的区别

prepareStatement与Statement的区别 1:创建时的区别&#xff1a; Statement stmcon.createStatement(); PreparedStatement pstmcon.prepareStatement(sql); 执行的时候: stm.execute(sql); pstm.execute(); 2: pstm一旦绑定了SQL,此pstm就不能执行其他的S…

什么是Spring Boot以及为什么它是用于创建微服务的首选框架

为什么要使用Spring Boot创建微服务&#xff1f; Spring Boot是Java领域众所周知的首选框架&#xff0c;用于创建Micro Services。 使用Spring引导框架&#xff0c;可以非常轻松地创建Java应用程序。 现在&#xff0c;我们将看到Spring启动框架的一些功能&#xff0c;这使其成为…

嵌入式开发有年龄限制吗_什么?!考教资有年龄限制了?2020年我还能考吗?...

近几年教师资格证越来越火爆越来越多的人都想报考&#xff0c;却又担心年龄问题&#xff0c;那么考教师资格证有年龄限制吗&#xff1f;下面小编就给大家解答一下这个问题&#xff1a;报考教师资格证是没有年龄限制的&#xff0c;只有学历限制。报考幼师教师资格证的考生必须是…

Python3的bytes/str之别

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode&#xff0c;由str类型表示&#xff0c;二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes&#xff0c;正是这使得两者的区分特别清晰。你不能拼接字符串和字节…

jframe透明_使JFrame透明

jframe透明首先创建一个带有滑块的框架&#xff0c;该滑块将用于设置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaul…

MyEclipse下Tomcat启动变慢的解决方法

项目忽然使用debug启动有时候会突然变得非常慢。不但启动慢&#xff0c;启动之后连打开项目标页面也很慢&#xff0c;是日常平凡的4&#xff0c;5倍。可以有下面的几种解决方法&#xff1a; 1、由于Tomcat是服务器,部署好的工程就会一直驻留到服务器里,每次启动都会把部署到服务…

Python关于Threading暂停恢复解决办法

我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志…

stm32l4 外部中断按键会卡死_STM32学习之路-按键中断测试(外部中断)

void RCC_Config(void){SystemInit(); //系统时钟初始化RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE | RCC_APB2Periph_G…

NetBeans Java EE技巧9:从数据库创建JSF应用程序

您需要非常快速地创建数据库前端吗&#xff1f; NetBeans IDE允许人们以极少的编码就非常快速地为一组数据库表开发JSF应用程序前端。 现在&#xff0c;本教程既是老歌&#xff0c;又是老歌……对于那些不了解它的人来说&#xff0c;值得再次提及。 首先&#xff0c;创建您的应…

[模板]树链剖分

用途 我想把一个本来是线性的东西放到树上做&#xff0c;维护路径或者是子树的各种性质&#xff0c;那就用树剖呗 它可以套线段树、树状数组、ST表&#xff08;以及其他我不知道的&#xff09; 做法 我们考虑把树分成一条条链&#xff0c;然后对每条链维护我们的数据结构&#…

sql server 2005单独添加mdf文件

我把原来的数据库分离后&#xff0c;直接把日志文件给干掉了。原来在SQL 2000里经常这么干&#xff0c;只用一个mdf就附加了。没想到sql2005居然不行。我试验了一圈 终于找到一个成功的方法。转载&#xff0c;供后来者参考。SQL2005 如何在没有日志文件的情况下如何恢复MDF数据…

低压抽屉柜常见故障处理方法_低压配电设备常见故障分析,处理办法介绍

低压配电线路作为配电网络中主要的一部分&#xff0c;在其运行的过程中直接影响着人民的生命财产安全。配电线路是电力输送的终端&#xff0c;对于提高电力质量有着至关重要的作用。但由于配电线路走径的复杂性&#xff0c;人为因素和设备因素&#xff0c;都会给低压配电设备造…

关于C语言中的'\?'和%%

关于C语言中的\?和%% 一、引语 我们知道C/C中有四个非字母的字符需要用转义字符来表示&#xff1a;单引号 , 双引号 " , 反斜杆 \ 和问号 ? 显然这是因为它们本身有特殊的含义&#xff0c;所以要用转义字符来表示他们自己&#xff0c;单引号用来表示单个字符&#xff0…

mockito 使用_用Mockito回答

mockito 使用在编写单元测试时 &#xff0c;必须记住不要依赖于外部组件。 为了避免这种情况&#xff0c;我们使用了模拟框架&#xff0c;对我而言&#xff0c;最容易使用的是Mockito 。 在本文中&#xff0c;我们将看到在Mockito中使用的一种“高级”技术&#xff0c;可以使用…