思路:

令p表示步数,l表示步长。由于p是使(l * p) % (n * k) == 0的最小的p,所以p = (n * k) / gcd(n * k, l).

设l = k * x + r,则由题意可知r有四种可能的取值,分别是(a + b) % k, ((-a + b) % k + k) % k, ((a - b) % k + k) % k, ((-a - b) % k + k) % k,枚举各种情况计算即可。

实现:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const ll INF = 0x3f3f3f3f3f3f3f3f;
 5 ll n, k;
 6 void solve(ll r, ll & minn, ll & maxn)
 7 {
 8     for (int x = r ? 0 : 1; k * x + r <= n * k; x++)
 9     {
10         ll ans = n * k / __gcd(n * k, k * x + r);
11         minn = min(minn, ans);
12         maxn = max(maxn, ans);
13     }
14 }
15 int main()
16 {
17     ll a, b;
18     while (cin >> n >> k >> a >> b)
19     {
20         ll minn = INF, maxn = 0;
21         solve((a + b) % k, minn, maxn);
22         solve(((-a + b) % k + k) % k, minn, maxn);
23         solve(((a - b) % k + k) % k, minn, maxn);
24         solve(((-a - b) % k + k) % k, minn, maxn);
25         cout << minn << " " << maxn << endl;
26     }
27     return 0;
28 }

转载于:https://www.cnblogs.com/wangyiming/p/10870774.html

CF1142A The Beatles相关推荐

  1. CF1142A The Beatles 乱搞

    Description 有n*k个城市排成一个环,其中第1,k+1,2k+1-个城市是关键点 现在有个人从s出发,每次走l步后停下.已知这个人从s出发后走了x步又回到了s,且s与其最近关键点的距离恰好 ...

  2. 给初级beatles热爱者提供的歌曲MP3下载

    看到一个beatles(披头士)乐队的爱好者的论坛: http://www.beatles.cn/forum/Boards.asp 里面有一个下载列表,我都下载了.我听beatles的歌不多,但有几首 ...

  3. D - The Beatles CodeForces - 1143D

    D - The Beatles CodeForces - 1143D Recently a Golden Circle of Beetlovers was found in Byteland. It ...

  4. D. The Beatles(思维+枚举)

    D. The Beatles 题意: 有n*k个城市,每个城市间的距离是1km,在第1,1+k,1+k*2--,1+(n-1)*k个城市中有饭馆, 从城市s出发,每次走过的距离为l,问再次回到s时停了 ...

  5. Beatles小记-分布式数据流分析框架(一)

    Author:放翁(文初) Email:fangweng@taobao.com Mblog:weibo.com/fangweng Blog: http://blog.csdn.net/cenwench ...

  6. CF1143D/1142A The Beatles

    CF1143D/1142A The Beatles 将题目中所给条件用同余方程表示,可得 \(s-1\equiv \pm a,s+l-1\equiv \pm b\mod k\). 于是可得 \(l\e ...

  7. Codeforces Round #549 (Div. 2) D. The Beatles

    D. The Beatles time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. Codeforces Round #549 (Div. 2) 1143D. The Beatles

    D. The Beatles time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  9. ACM题解——训练赛2_D - The Beatles

    ACM题解--训练赛2_D - The Beatles 题目描述 Examples Input 2 3 1 1 Output 1 6 Input 3 2 0 0 Output 1 3 Input 1 ...

最新文章

  1. pyltp在ubuntu20.04下面的安装办法
  2. 怎么让员工服从管理_为什么现在的员工执行力和服从性越来越差,管理一严格就辞职?...
  3. 数据科学学习心得_学习数据科学时如何保持动力
  4. 第3章 Linux内核调试手段之三
  5. insserv: warning: script 'lampp' missing LSB tags and overrides
  6. 微型计算机原理目录,微型计算机原理与应用 目录
  7. 5G SA信令流程介绍
  8. ADXL345传感器小结
  9. 服务器UDIMM、LRDIMM、RDIMM三种内存的区别
  10. 零基础学C语言(C语言入门)
  11. 网易云web安全工程师第一天
  12. Redis启动多端口、运行多实例
  13. 应届毕业生找java初级开发工作需要掌握哪些知识或者技术?
  14. ubuntu系统声音_Ubuntu Linux系统提示声音设置
  15. P1914 小书童——凯撒密码(python实现)
  16. 计算机vb知识点,2020年全国计算机二级VB复习知识点:常用内部函数
  17. 图解HTTP 学习笔记
  18. 【无标题】北京车牌汽车只有人去世了才能办理继承手续吗?
  19. 如何在CSDN博客内容创作时设置首行缩进?
  20. 获得用户输入的一个整数N,计算并输出N的32次方

热门文章

  1. bo耳机h5使用说明_双十一买耳机看这里:OPPO领衔四款千元降噪耳机满足你需求_...
  2. “绿色单文件版UltroISO 未能找到虚拟光驱 ”的解决办法
  3. mysql 127.0.0.13306_MySQL 问题解决
  4. 在线办公实例:我如何在实际工作中使用超级表格
  5. 计算机病毒与网络安全的小报,关于网络安全手抄报内容
  6. 今天上qq空间看到一个有意思的东西,类似射线的效果
  7. ppt如何替换其他mo ban_这4个配图反例,拉低了你的PPT档次!
  8. 中移链合约常用开发介绍(三)工程化开发智能合约
  9. Git仓库完整迁移 含历史记录
  10. Unity动态加载外部服务器上的FBX模型