日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ 1061 青蛙的约会(扩展欧几里得)

發(fā)布時間:2025/3/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 1061 青蛙的约会(扩展欧几里得) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?青蛙的約會

Time Limit:?1000MS?Memory Limit:?10000K
Total Submissions:?91753?Accepted:?16849

Description

兩只青蛙在網(wǎng)上相識了,它們聊得很開心,于是覺得很有必要見一面。它們很高興地發(fā)現(xiàn)它們住在同一條緯度線上,于是它們約定各自朝西跳,直到碰面為止。可是它們出發(fā)之前忘記了一件很重要的事情,既沒有問清楚對方的特征,也沒有約定見面的具體位置。不過青蛙們都是很樂觀的,它們覺得只要一直朝著某個方向跳下去,總能碰到對方的。但是除非這兩只青蛙在同一時間跳到同一點上,不然是永遠(yuǎn)都不可能碰面的。為了幫助這兩只樂觀的青蛙,你被要求寫一個程序來判斷這兩只青蛙是否能夠碰面,會在什么時候碰面。?
我們把這兩只青蛙分別叫做青蛙A和青蛙B,并且規(guī)定緯度線上東經(jīng)0度處為原點,由東往西為正方向,單位長度1米,這樣我們就得到了一條首尾相接的數(shù)軸。設(shè)青蛙A的出發(fā)點坐標(biāo)是x,青蛙B的出發(fā)點坐標(biāo)是y。青蛙A一次能跳m米,青蛙B一次能跳n米,兩只青蛙跳一次所花費的時間相同。緯度線總長L米。現(xiàn)在要你求出它們跳了幾次以后才會碰面。?

Input

輸入只包括一行5個整數(shù)x,y,m,n,L,其中x≠y < 2000000000,0 < m、n < 2000000000,0 < L < 2100000000。

Output

輸出碰面所需要的跳躍次數(shù),如果永遠(yuǎn)不可能碰面則輸出一行"Impossible"

Sample Input

1 2 3 4 5

Sample Output

4

分析:設(shè)兩只青蛙跳S次之后碰面且A比B跳得快,則(x + S * m) - (y + S * n) = k * L(k = 0, 1, 2……)。

移項合并后的(n - m) * S + k * L = (x - y).令a = n - ?m, b = L, c = x - y,即a * S + b * L = c(1)

若式(1)有整數(shù)解,則兩只青蛙能相遇,否則不能。所以問題就轉(zhuǎn)化為了求方程的整數(shù)解。

首先計算出d = gcd(a, b),如果d不能整除c,則方程無整數(shù)解。否則,在方程兩邊同時除以d,得到a' * S + b' * L = c‘,此時gcd(a', b') = 1.

然后利用擴(kuò)展歐幾里得算法求出a' * S + b' * L = 1'的一組整數(shù)解x0, y0,則(c' * x0, c' * y0)是a' * S + b' * L = c‘的一組整數(shù)解,a' * S + b' * L = c‘的所有解為(x = c' * x0 + b' * k, y = c' * y0 - a' * k),同時也是a * S + b * L = c的所有解。

寫法一:

#include <cstdio> #include <cmath> typedef long long LL;LL X, Y, M, N, L;LL gcd(LL a, LL b) {while(b) {LL r = a % b;a = b;b = r;}return a; }void extend_gcd(LL a, LL b, LL &x, LL &y) {if(b == 0) {x = 1;y = 0;return ;}else {extend_gcd(b, a % b, x, y);LL tmp = x;x = y;y = tmp - a / b * y;} }int main() {LL x, y, d;while(~scanf("%I64d%I64d%I64d%I64d%I64d", &X, &Y, &M, &N, &L)) {LL a = N - M;LL b = L;LL c = X - Y;d = gcd(a, b);if(c % d != 0) {printf("Impossible\n");continue;}a /= d;b /= d;c /= d;extend_gcd(a, b, x, y);LL t = c * x % b;if(t < 0) t += b;printf("%I64d\n", t);}return 0; }
寫法二:

#include <iostream> typedef long long LL; using namespace std;LL X, Y, M, N, L;void extend_gcd(LL a, LL b, LL &d, LL &x, LL &y) {if(b == 0) { d = a; x = 1; y = 0; }else { extend_gcd(b, a % b, d, y, x); y -= x * (a / b); } }int main() {while(cin >> X >> Y >> M >> N >> L) {LL d, x, y;extend_gcd(N - M, L, d, x, y);if((X - Y) % d == 0) {LL p = L / d; x = (X - Y) / d * x;x = (x % p + p) % p; //防止x為負(fù)值cout << x << endl;}else cout << "Impossible" << endl;}return 0; }/* d為N-M和L的最大公約數(shù),x為(N-M)/d對L/d的逆元,即((N-M)/d) * x ≡ 1(mod L/d), 即((N-M)/d) * x + (L / d)* y = 1的一組解, 所以((N-M)/d) * x + (L / d)* y = (X-Y)/d的一組解為x0 = (X-Y)/d * x. 這也是(N - M) * x+ L * y = (X - Y)的一組解。 */


總結(jié)

以上是生活随笔為你收集整理的POJ 1061 青蛙的约会(扩展欧几里得)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜精品福利一区二区蜜股av | 老局长的粗大高h | 91激情网 | 99re这里只有精品在线观看 | 亚洲视频一区二区三区在线观看 | 色欲av无码精品一区 | 污视频在线播放 | 国产日韩在线播放 | 综合精品久久久 | 天天干天天色天天 | 日本jizzjizz | 日本一级吃奶淫片免费 | 欧美熟妇一区二区 | 91手机在线视频 | 国产成a人亚洲精v品无码 | 苏晴忘穿内裤坐公交车被揉到视频 | 性欧美18一19性猛交 | 琪琪午夜伦理 | 亚洲人丰满奶水 | 毛片日本| 国产91精品一区 | 性xxxxxxxxx18欧美| 啪啪无遮挡 | 国产成人av网 | 狠狠欧美 | 久久久久久免费观看 | 国产精品成人免费精品自在线观看 | 日韩亚射吧 | 国产福利在线导航 | 东京久久久 | 日日摸天天爽天天爽视频 | 51久久久| 中文字幕在线播放视频 | 手机av资源 | 在线视频免费观看一区 | 就操网 | 咪咪av| 在线精品自拍 | 五月婷婷中文 | 荫蒂被男人添免费视频 | 欧美夫妻性生活视频 | 亚洲欧美另类综合 | 蜜臀av无码精品人妻色欲 | 白白色免费视频 | 日本少妇吞精囗交 | 久久99在线 | 男生女生操操操 | av免费的| 国产喷水吹潮视频www | 超碰三级 | 男男车车的车车网站w98免费 | 丰满少妇被猛烈进入 | 欧美激情视频二区 | 亚洲国产精品毛片 | av成人在线看 | 国产免费看av | 在线不卡毛片 | 不卡的av网站 | 国产精品jizz在线观看老狼 | 有码在线| 女人脱下裤子让男人捅 | 色无五月| 在线观看黄av| 国产手机在线播放 | 亚洲一区二区三区四区在线 | 99riav视频 | 欧美激情在线观看视频 | 午夜激情综合网 | 国产精品一区免费 | 色婷婷av一区二区三区软件 | 66av欧美 | 亚洲黄色在线免费观看 | 免费性网站 | 美女脱了内裤喂我喝尿视频 | 久久国产经典视频 | 天天摸天天操天天射 | 西西人体44www大胆无码 | 师生出轨h灌满了1v1 | 欧美激情精品 | 国产精品精品 | 欧美韩国日本在线 | 91偷拍精品一区二区三区 | 黄色片在线 | 先锋影音av在线 | 波多野结衣一区二区三区中文字幕 | 九色porny自拍视频在线播放 | 国产毛片一区 | 999久久久久| 萌白酱喷水视频 | 日本高清黄色 | yjizz视频| 亚洲影院在线播放 | 亚欧洲精品视频 | 精品国产鲁一鲁一区二区三区 | 香蕉久热| 色不卡 | 波多在线播放 | 草草视频在线 | wwxx日本 |