2015ACM/ICPC亚洲区上海站LCM WALK

题意:定义了一种走法,就是从当前的点为sx,sy,可以走到ex,ey;并且ex = sx + z,或者 ey = sy + z,

其中z为lcm(sx,sy);

如果是顺着给你sx,sy,那很好得到之后的两个可能走到的点,但是题目并没有这么给出;而是给了终点;

这就需要从可约及前后变化形式的角度来逆推回去了;

一般的数论都需要用到__gcd();z ,sx,sy,ex,ey中都是含有gcd()的,并且如果将__gcd()除去,得到的(ex/gcd,ey/gcd) = 1;

还有一点可以从顺推得到的就是:

(x,y)=> (x + x*y/gcd,y)||(x,y+x*y/gcd)将后面的式子提前gcd得到(x`+x`*y`,y) 即((y`+1)*x`,y`) 原式可看出是(x`,y`)

即都是在模除的意义下讨论的,大的一项的由来就是从顺推得到的,这样只需判断是否能整除就可以判短是否继续往小的递减,

开始想构造出符合欧几里得一样的mod辗转,但是要因题而异;

code:

<span style="font-size:18px;">#include<bits/stdc++.h>
using namespace std;
int cnt;
int solve(int x,int y)
{
cnt++;
if(x < y) swap(x,y);
if(x%(y+1)||x == y) return cnt;
solve(x/(y+1),y);
}
int main()
{
int x,y,T,kase = 1;
cin>>T;
while(T--){
cnt = 0;
scanf("%d%d",&x,&y);
int gcd = __gcd(x,y); //库中已有的函数,<span style="color:#FF0000;">注意poj中要手写__gcd()</span>
x /= gcd;
y /= gcd;
printf("Case #%d: %d\n",kase++,solve(x,y));
}
}</span>

hdu5548的更多相关文章

随机推荐

  1. C#_MVC3之使用Authorize简单的验证登录(一)

    第一步,自定义 AuthorizeAttribute. public class CustomAuthorizeAttribute : AuthorizeAttribute { public over ...

  2. 在 iOS 8 中使用模糊效果

    在 iOS 7 出來一個背景模糊的效果, Apple 官方的 sample code 則有提供怎麼使用 vImage, Quartz 來實作這個效果.接著在 iOS 8 出來之後,則提供了  UIVi ...

  3. Oracle SQL Developer 操作

    .新建 数据库连接 菜单->文件->新建 ->新建数据库连接 ->连接名: 用户名:userA 口 令: 连接类型:基本/.. 角色:默认值/SYSDBA 主机名:localh ...

  4. ADC及DA的头文件复析

    /************************************************************* ADC12,,,,这么多的定义,搞得我都昏死啦,抽出来可能好几一些..** ...

  5. BIO与NIO、AIO的区别

    IO的方式通常分为几种,同步阻塞的BIO.同步非阻塞的NIO.异步非阻塞的AIO. 一.BIO      在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个Serve ...

  6. 使用VS建立Web网站及IIS

    一:网站运行的一般原理: 1.所有WEB程序运行都需要一个东西:Web服务器软件. 2. 网站分为动态页面和静态页面 3. web服务器软件的作用:接收请求,响应请求. 被动——无请求则无响应. Ja ...

  7. 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

    1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...

  8. 浅试WebStorm配置Node.js开发环境

    web前端开发IDE一直喜欢用WebStorm,这里简单介绍如何用WebStorm搭建一个Node.js开发环境. 首先,需要在本地安装好node.js,以及npm包管理工具.你也可以吧node.js ...

  9. RabbitMQ 原文译04--路由

    在前一篇文章中我们构建了一个简单的日志系统,我们可以向多个接受者广播消息. 在这篇文章我,我们将要添加一些功能使得针对部分消息的接受成为可能,例如我们只对错误的消息进行磁盘记录,同时又可以把所有的消息 ...

  10. sharepoint 备份和还原site脚本

    <个人积累,转载请注明出处> Backup-SPSite "http://www.abc.com/sites/TestWorkflowCenter" -path C:\ ...