poj 1061 青蛙的约会

这题的关键就是找方程:
要想青蛙能碰面,就满足方程:
(x+m*t) - (y+n*t) = p*l;
t:跳的次数
p:两只青蛙相差的圈数
l:纬度线的长度
将上述方程整理得:
(n-m)*t + p*l = x-y;
令a=n-m,b=l,c=gcd(a,b),d=x-y;
所以就有:
a*t + b*p = d;
就是求解t的最小正整数;

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long LL;
void exgcd(LL a,LL b,LL &x,LL &y)//扩展欧几里得算法
{
    if(b==0)
    {
        x=1;
        y=0;
        return;
    }
    exgcd(b,a%b,x,y);
    LL tmp=x;//关键
    x=y;
    y=tmp-(a/b)*y;
}
LL gcd(LL m,LL n)//求最大公约数
{
    if(n==0)
        return m;
    return gcd(n,m%n);
}
int main()
{
    LL x,y,m,n,l,a,b,c,d,x0,y0,flag;
    while(cin>>x>>y>>m>>n>>l)
    {
        flag=0;//记一下是不是有解
        a=n-m,b=l;
        c=gcd(a,b),d=x-y;
        if(d%c!=0)
            flag=1;
        if(flag)
            puts("Impossible");
        else
        {
          a/=c;
          b/=c;
          d/=c;
          exgcd(a,b,x0,y0);//x0与y0就是上述解题思路的t和p
          x0*=d;
          x0=(x0%b+b)%b;//最小正整数
          cout<<x0<<endl;
        }
    }
    return 0;
}
时间: 2025-01-29 17:08:55

poj 1061 青蛙的约会的相关文章

POJ题目分类

初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      (4)递推.      (5)构造法.(poj3295)      (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法:      (1)图的深度优先遍历和广度优先遍历.      (2)最短路径算法(dijkstra,bellman-ford

poj分类

初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      (4)递推.      (5)构造法.(poj3295)      (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法:      (1)图的深度优先遍历和广度优先遍历.      (2)最短路径算法(dijkstra,bellman-ford

poj 1659 Frogs&#039; Neighborhood

题目链接: http://poj.org/problem?id=1659 类型: 贪心,Havel-Hakimi定理 题目: Description 未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路相连,则青蛙Fi和Fj互称为邻居.现在已知每只青蛙的邻居数目x1, x2, ..., xn,请你给出每两个湖泊之间的相连关系. Input 第一行是测试数据的组数T(0 ≤ T ≤ 20).每

PS合成一只剔透的玻璃青蛙

作者合成的思路非常不错,用蓝色泡泡来表现表面的质感,然后通过变形等把泡泡的纹路都贴到青蛙的各个组成部分,总体非常自然逼真. 最终效果 1.打开泡泡图片,在工具栏中,选择椭圆选框工具. [1] [2] [3] [4] [5] [6]  下一页

outlook发送邮件:PHP 发送 outlook 约会邮件

<?php  $to = "other@xxxx.net";  $from = "me@xxxx.net";  $subj = "my test subject";  $msg = "this is the email body";  $header = "From: " . $from . "\r\n" .  "MIME-Version: 1.0\r\n" .

佳人有约升级同城约会设计思路全过程分享

佳人有约网易婚恋交友网站,经过精心策划和团队努力合作,终于打造出风格精美.功能强大及人性化体验的交友网站产品. 整个项目流程: 从时间流来看整个过程: 1. 改版计划 佳人有约改版目标·明确产品定位,优化设计风格以便提升产品品牌认知度.·优化任务流程.产品架构,使之更符合用户需求.·提高产品易用性,改善用户体验.·优化源代码,使网站执行效率更高. 2. 用研和评估 工作分为三部分:第一是用户研究,主要针对抽样用户对象进行访问和交谈,并记录他们基本网上交友行为,初步了解需求,得出结论.第二是对自身

网络营销与奥运有个约会

今年是个奥运年,每四年一次的奥林匹克盛宴就要来临了,在这个临近的日子里,我相信每个人心里都会有一种不一样的感觉,一种期待的眼神,终于等到了这一天,北京时间28日4时开幕式就要开始了,无论是运动员还是观众或者是新闻媒介,大家都会为能看到这样一种盛况而感到心旷神怡,这里聚集了成千上万的人,还有今天我要讲述的营销,都会在奥运会中看到,究竟会有怎么样的关联呢,下面A5站长网SEO诊断团队(http://www.yuehuai.com/seozhenduan/)从以下几个方面和大家一起分享其中的奥妙. 奥

POJ:DNA Sorting 特殊的排序

Description One measure of ``unsortedness'' in a sequence is the number of pairs of entries that are out of order with respect to each other. For instance, in the letter sequence ``DAABEC'', this measure is 5, since D is greater than four letters to

POJ 1001 Exponentiation 无限大数的指数乘法 题解

POJ做的很好,本题就是要求一个无限位大的指数乘法结果. 要求基础:无限大数位相乘 额外要求:处理特殊情况的能力 -- 关键是考这个能力了. 所以本题的用例特别重要,再聪明的人也会疏忽某些用例的. 本题对程序健壮性的考查到达了变态级别了. 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/ 某人贴出的测试用例数据地址: http://poj.org/showmessage?message_id=76017 有