江西财经大学第二届程序设计竞赛同步赛 H大时钟 (扩展欧几里得)
链接:https://ac.nowcoder.com/acm/contest/635/H
来源:牛客网
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
艾兰岛和沃夫岛的时间算法很不一样,它们都拥有它们自己的魔法大时钟。以我们的时间来看艾兰岛的大时钟起鸣在b, b+a, b+2a, b+3a,… ,(a,b均为正整数)并且沃夫岛的大时钟起鸣在d, d+c, d+2c, d+3c,….(c,d均为正整数)因为计时的方法不同,两边经常打仗,但可能有某些时间点两边的大时钟同时起鸣。我们称这样的时间点为和平点。求第一个和平点。(如果没有这样的时间点,输出-1)
输入描述:
第一行输入两个整数a,b ( 1< a,b < 5*108)
第二行输入两个整数c,d ( 1< c,d < 5*108)
输出描述:
第一个和平点所表示的时间(如果没有这样的时间点,输出-1)
输入
复制
20 2 9 19
输出
复制
82
输入
复制
2 1 16 12
输出
复制
-1 解题思路:由题目我们可以很容易列出方程b+ax=d+cy,令b<d,如果b>d我们就交换(a,c),(b,d),这样的话我们就只需要求出y的最小正整数解,然后d+cy必定是答案,我们把式子转化为ax-cy=d-b,然后再转化为ax+cy=d-b,改成求y的最大非正整数解,答案也随即变成d-cy了。代码:
#include<iostream> using namespace std; typedef long long ll; ll a,b,c,d; void exgcd(ll a,ll b,ll &x,ll &y,ll &c){if(!b){x=1,y=0,c=a;}else{exgcd(b,a%b,y,x,c);y-=a/b*x;} } int main(){cin>>a>>b>>c>>d;if(b>d){swap(b,d);swap(a,c);}ll x,y,gcd;exgcd(a,c,x,y,gcd);if((d-b)%gcd){puts("-1");return 0;}x*=(d-b)/gcd; y*=(d-b)/gcd;y%=(a/gcd);while(y>0) y-=a/gcd;cout<<d-c*y<<endl;return 0; }
转载于:https://www.cnblogs.com/zjl192628928/p/10776689.html
江西财经大学第二届程序设计竞赛同步赛 H大时钟 (扩展欧几里得)相关推荐
- 江西财经大学第二届程序设计竞赛同步赛----E-是不是复读机
首先发出题目链接: 链接:https://ac.nowcoder.com/acm/contest/635/E 来源:牛客网 题目如下: 看完题目之后就有两个问题摆在面前: (1)题目输入的是一串英文, ...
- (江西财经大学第二届程序设计竞赛同步赛)E-是不是复读机
E-是不是复读机 题目描述: 在复读纪元2140年,复读机(们)已经放弃了如下所示的低级复读方式: "哟,小伙汁,想不到你也是个复读机" "哟,小伙汁,想不到你也是个复读 ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解
"科林明伦杯"哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解 萌新又来写题解啦 原题链接 B 减成一 题意:存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多 ...
- 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛题解
A,C,I签到题,只搞了8题,还一题是神仙做的,我不会 链接:https://www.nowcoder.com/acm/contest/122/B 来源:牛客网 取石子 时间限制:C/C++ 1秒,其 ...
- 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 - 题解
A - ID and password 题目描述 Users prefer simple passwords that are easy to remember, but such passwords ...
- 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 部分题解
A-ID and password 签到题. #include <iostream> #include <cstdio> #include <bits/stdc++.h& ...
- 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛B 取石子(博弈SG函数模板)
题目链接:取石子 链接:https://www.nowcoder.com/acm/contest/122/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65 ...
- 江西财经大学第一届程序设计竞赛 G题小Q的口袋校园
题目链接:https://www.nowcoder.com/acm/contest/115/G 解题思路:题解就一份代码,贪心的思想.先按开始时间进行排序. 然后不断贪心获得happy[ j ]的最大 ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛)---全题目+题解
文章目录 A.点对最大值 B.减成一 C.面积 D.扔硬币 E.赛马 F.三角形 G.养花 H.直线 I.字典序 J.最大值 A.点对最大值 链接:https://ac.nowcoder.com/ac ...
最新文章
- linux resin mysql_Linux下Resin JSP MySQL的安装和配置-2
- 赞!超炫的页面切换动画效果【附源码下载】
- dubbo管理控制台安装和使用
- python内置函数用来返回数值型序列中所有元素之和_语句x = 3==3, 5执行结束后,变量x的值为_学小易找答案...
- java Spring Boot中使用Swagger2构建API文档
- excel字符串反转
- 2个 string 日期比较
- mysql 交集_面试官:来说说MySQL的常见优化方案……
- 如何才能做到网站高并发访问?
- Filezilla client站点出现中文乱码的解决办法
- Ubuntu16.04安装Meshlab
- 51、AVR、PIC、MSP430、ARM五大单片机全解析
- 张朝阳5G寻路与搜狐奇兵
- 业务分析师Business Analysist(BA)的职业发展之路
- 一亿条数据的排序处理
- 计算机组成CPU最佳配置,计算机组成原理--CPU
- 【leetcode】714. 买卖股票的最佳时机含手续费
- 认真学习MySQL中的角色权限控制
- 转载 Lua xpcall
- 13场院士报告推动2022中国种子大会 国稻种芯百团计划行动
热门文章
- Android uevent
- STM32F7xx —— CAN通信
- 51单片机——SPI
- 天池 在线编程 所有子数组之和(排列组合)
- LeetCode 1563. 石子游戏 V(DP)
- [scikit-learn 机器学习] 8. 非线性分类和决策树
- LeetCode 1466. 重新规划路线(DFS/BFS)
- LeetCode 1. 两数之和(哈希)
- java 拦截器_Spring的春天来啦——百战Java课程更新(2019.09.06)
- tc溜溜865手机投屏卡_溜溜 TC Games 官网_专题