思路:

令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,枚举各种情况计算即可。

实现:

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF = 0x3f3f3f3f3f3f3f3f;
ll n, k;
void solve(ll r, ll & minn, ll & maxn)
{
for (int x = r ? : ; k * x + r <= n * k; x++)
{
ll ans = n * k / __gcd(n * k, k * x + r);
minn = min(minn, ans);
maxn = max(maxn, ans);
}
}
int main()
{
ll a, b;
while (cin >> n >> k >> a >> b)
{
ll minn = INF, maxn = ;
solve((a + b) % k, minn, maxn);
solve(((-a + b) % k + k) % k, minn, maxn);
solve(((a - b) % k + k) % k, minn, maxn);
solve(((-a - b) % k + k) % k, minn, maxn);
cout << minn << " " << maxn << endl;
}
return ;
}

CF1142A The Beatles的更多相关文章

  1. [ Codeforces Round #549 (Div. 2)][D. The Beatles][exgcd]

    https://codeforces.com/contest/1143/problem/D D. The Beatles time limit per test 1 second memory lim ...

  2. CF1143D/1142A The Beatles

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

  3. Let It Be - The Beatles - Lyrics

    轉載自 https://www.youtube.com/watch?v=0714IbwC3HA When I find myself in times of trouble, Mother Mary ...

  4. D. The Beatles

    链接 [https://codeforces.com/contest/1143/problem/D] 题意 就是有nkcity,n个面包店 第一个面包店在1city,第x个在(x-1)k+1city ...

  5. CodeForces #549 Div.2 D. The Beatles

    题目 解题思路 关键是要 ,找出L 的组合,然后遍历L的组合,用最大公约数就可以算出来当前L的值要停多少次 怎么找出L的组合呢?饭店是每隔K 有一个,是重复的,我们只需要算出第一个饭店两侧,起点和停顿 ...

  6. A-the Beatles

    传送门: 题意:题目给出n,k分别代表在这个环中饭店的个数和两个饭店相离的距离.然后再给出一组a,b分别代表在某一点s里最近饭店的距离和在这个s点走一步之后到达的点离最近饭店的距离. 然后问这个人再次 ...

  7. CF-1143D. The Beatles

    题意:有间隔为k的n个点在数轴上,下标为 \(1,k+1, 2*k+1,\cdots (n-1)*k+1\) 首尾相接.设起点为s,步长为L,而现在只知道s距离最近的点的距离为a,和(s+L)距离最近 ...

  8. 『题解』Codeforces1142A The Beatles

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description Recently a Golden Circle of Beetlovers ...

  9. Entity Framework 6 Recipes 2nd Edition(13-10)译 -> 显式创建代理

    问题 你有一个POCO实体,原本在执行一个查询时动态创建代理,现在你不想EF延迟创建代理带来的代价. 解决方案 假设你有一个如图Figure13-15的模型 Figure 13-15. A model ...

随机推荐

  1. MVC之一、预备知识储备

    自动属性 隐式类型 对象初始化器与集合初始化器 匿名类 扩展方法 Lambda表达式 (1).自动属性(Auto-Implemented Properties) C#自动属性可以避免原来这样我们手工声 ...

  2. jvm学习五: 方法执行过程

    方法执行过程:Java各个大版本更新提供的新特性(需要简单了解)

  3. [poj1830]开关问题(高斯消元)

    题意:求高斯消元中自由元的个数,输出1<<ans; #include<cstdio> #include<cstdlib> #include<cstring&g ...

  4. git for eclipse 如何取消误操作的忽略(ignore)操作

    直接删除ignore文件即可.如下显示: 原文引用:https://blog.csdn.net/exceptionss/article/details/79082601

  5. CentOS6下安装Java jdk1.7.0_10和 maven

    安装步骤如下: 1. 下载JDK7.0_10 (jdk-7u10-linux-i586.tar.gz) 地址: 2. 卸载系统自带的开源JDK 查看是否安装JDK rpm -qa | grep jav ...

  6. Windows下git的安装与配置

    表示git安装成功.

  7. Javascript中对文字编码的三个函数

    JavaScript中对文字编码主要有3个函数 escape,encodeURI, encodeURIComponent 相应3个解码函数 unescape, decodeURI, decodeURI ...

  8. JNI初识

    JNI:Java Native Interface 的简写,是Java语言提供的一种通用接口,用于Java代码与本地化代码的交互. 所谓本地化代码是指直接编译成的与计算机相关的二进制代码,而非Java ...

  9. ZOJ 1586 QS Network Kruskal求最小生成树

    QS Network Sunny Cup 2003 - Preliminary Round April 20th, 12:00 - 17:00 Problem E: QS Network In the ...

  10. Excel .net读取

    public void LoadData(string StyleSheet) { string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Dat ...