1 题目描述(题目链接)

2 题解

  由题意得,na=m+c−bna=m+c-bna=m+c−b,则na∈[m+l−r,m+r−l]na\in [m+l-r,m+r-l]na∈[m+l−r,m+r−l]。对于a∈[l,r]a\in [l,r]a∈[l,r],遍历求解n=⌊m+r−la⌋n=\lfloor \cfrac{m+r-l}{a} \rfloorn=⌊am+r−l​⌋,并验证n∗an*an∗a是否在上述范围内,如果在,则b,cb,cb,c的值只需要满足c−b=na−mc-b = na-mc−b=na−m即可。

#include <iostream>
#include <cmath>
using namespace std;
typedef long long ll;int main(int argc, const char * argv[]) {// insert code here...int t;cin>>t;ll l[20], r[20], m[20];ll i, a, n;ll left, right;for (i = 0; i < t; i++){cin>>l[i]>>r[i]>>m[i];}for (i = 0; i < t; i++){left = l[i] - r[i] + m[i];right = r[i] - l[i] + m[i];for (a = l[i]; a <= r[i]; a++){n = floor(right/a);if (left <= a*n && a*n <= right){break;}}if (a*n - m[i] < 0)cout<<a<<" "<<r[i]<<" "<<r[i]+a*n-m[i]<<endl;elsecout<<a<<" "<<r[i]+m[i]-a*n<<" "<<r[i]<<endl;}return 0;
}
t = int(input())l, r, m = [], [], []for i in range(t):lrm = input().split()l.append(int(lrm[0]))r.append(int(lrm[1]))m.append(int(lrm[2]))for i in range(t):left = m[i] + l[i] - r[i]right = m[i] + r[i] - l[i]for a in range(l[i], r[i] + 1):n = right//aif left <= a*n <= right:breakif a*n < m[i]:print(a, r[i], r[i]+a*n-m[i], end=" ")else:print(a, r[i]+m[i]-a*n, r[i], end=" ")

Codeforces 1379B.Dubious Cyrpto相关推荐

  1. [codeforces 1379B] Dubious Cyrpto 公式推导

    Codeforces Round #657 (Div. 2)   参与排名人数8684   错过了难得17:00比赛,可惜 [codeforces 1379B]   Dubious Cyrpto  公 ...

  2. Codeforces B. Dubious Cyrpto (枚举 / 模拟) (Round #657 Div.2)

    传送门 题意: 已知存在三个数a,b,c满足l <= a,b,c <= r,且m = n * a + b - c.现在告诉你l,r和m的值,需要你找到一组可行的a,b,c. 思路: 枚举a ...

  3. Codeforces Round #657 (Div. 2)B. Dubious Cyrpto

    思路 题目要求: na+b−c=mna+b-c=m na+b−c=m 我们可以转换为 na−m=c−bna-m=c-b na−m=c−b 然后c−bc-bc−b是固定不变的,我们去枚举a,在枚举的a的 ...

  4. 1379A. Acacius and String + 1379B.B. Dubious Cyrpto

    1379A 传送门 Acacius is studying strings theory. Today he came with the following problem. You are give ...

  5. Codeforces Round #657 (Div. 2) B题 Dubious Cyrpto

    m是被除数,a是除数,n的商,b-c是余数.切记,考虑b-c是负数的情况.切记 !切记 ! 二话不说上代码: #include <iostream> #include <algori ...

  6. Codeforces Round #657 (Div. 2) B. Dubious Cyrpto(思维,数学)

    题目链接 题意: m=n⋅a+b−c(n为任意正整数),给出m的值a,b,c的范围l,r(l<=a,b,c<=r),求出a,b,c. 思路: 由推倒知0<=|b-c|<=r-l ...

  7. B. Dubious Cyrpto

    https://codeforces.com/contest/1379/problem/B 如果m>i,则有两种情况,m%i在范围内或者i-m%i在范围内,m<i,只有i-m%i的情况. ...

  8. codeforces1379B Dubious Cyrpto

    https://codeforces.com/contest/1379/problem/B 可以想到其实就是让n*a=(m-(r-l),m+r-l)中的一个数 然后直接枚举a=l->r 令l2= ...

  9. Codeforces1379 B. Dubious Cyrpto(枚举)

    题意: 给定l,r,m 要求构造出一组a,b,c,满足: l<=a,b,c<=r,存在一个正整数n,na+b-c=m 数据范围:l,r<=5e5,m<=1e10 解法: 容易想 ...

最新文章

  1. 1066 Root of AVL Tree (25 分)【难 / 知识点: 平衡树 未完成】
  2. java大组件_Java的三大组件
  3. 计算机网络 socket阻塞非阻塞
  4. c语言ics什么意思,[转载]C网来话筛选(ICS)业务及实现
  5. 电脑计算器_哪几种计算器可以携带入考场!注会考试忘带计算器了怎么办?
  6. 使用C#: 自动切换鼠标的左右手习惯
  7. java 关闭中断_Raspberry pi使用中断方法关闭(关闭时出现垃圾代码)
  8. 基于麦克风阵列的语音信号处理技术
  9. Linux下部署wowza流媒体HA文档
  10. 关闭极域电子教室学生端的各种方法
  11. Linux防火墙配置工具iptables中MASQUERADE的含义
  12. hadoop学习之路(3)
  13. 王爽老师汇编第三版课程设计 一
  14. golang 的testing.T 和 testing.M 的区别
  15. 【小萝莉说Crash】第二期:Unrecognized selector xxx 之 ForwardInvocation
  16. 如何入门网络安全有什么条件呢?持有NISP或CISP证书可敲门
  17. Linux下的启动oracle服务 启动监听 开放端口操作
  18. django:信号机制
  19. (转)为Linux服务器部署高效防毒软件
  20. 计算机vb基础知识,计算机二级VB考试基础知识

热门文章

  1. linux系统手柄模拟器下载,Switch Amiibo模拟器(Windows|Linux PC + JoyControl + Bluetooth)...
  2. excel取整数的函数_函数010 EXCEL如何随机打乱数据,不重复随机数来帮忙!
  3. 在Centos上启动nodejs项目,并使用pm2管理nodejs应用
  4. python获取图片像素点颜色_Python获取图片位置像素色值及判断色值是否存在
  5. Excel中如何让第一行、第二行一直显示出来 excel冻结窗格与拆分窗格
  6. 涨知识 | 电机的十万个为什么?
  7. CT图像之Hu值变换与窗宽窗位调整
  8. VR是TAA的终结者吗?
  9. 【成功实现】python对tif图片的读取与保存
  10. Ubuntu16.04无法卸载VSCode