题目如下:


题解 or 思路

首先我们需要知道:
对于: s u m = 1 + 2 + 3 + 4 + . . . + n sum = 1 + 2 + 3 + 4 + ... + n sum=1+2+3+4+...+n
s u m = a + b , ( a ∈ [ 0 , s u m ] ) sum = a + b, (a \in [0, sum]) sum=a+b,(a∈[0,sum])
这个在此就不再证明

于是我们可以列出等式
a ≤ b a \le b a≤b
x + a = y + b x + a = y + b x+a=y+b
a + b = s u m a + b = sum a+b=sum

化简:
x − y + s u m = 2 ∗ b x - y + sum = 2 * b x−y+sum=2∗b

所以 s u m sum sum 需要满足:
x − y + s u m ≥ 0 x - y + sum \ge 0 x−y+sum≥0
( x − y + s u m ) m o d 2 = 0 (x - y + sum) \mod 2 = 0 (x−y+sum)mod2=0

所以暴力去找最小的 s u m sum sum 就是本题的答案。

AC 代码如下:

/*
Make it simple and keep self stupid
author:Joanh_Lan
*/
#pragma GCC optimize(3)
#pragma GCC optimize("inline") // 如果比赛允许开编译器优化的话,可以默写这两段
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <numeric>
#include <cstring>
#include <cmath>
#include <map>
#include <unordered_map>
#include <bitset>
#include <set>
#include <random>
#include <ctime>
#include <queue>
#include <stack>
#include <climits>
#define buff                     \ios::sync_with_stdio(false); \cin.tie(0);
#define int long long
#define ll long long
#define PII pair<int, int>
#define px first
#define py second
typedef std::mt19937 Random_mt19937;
Random_mt19937 rnd(time(0));
using namespace std;
const int mod = 1e9 + 7;
const int inf = 2147483647;
const int N = 100009;
//int Mod(int a,int mod){return (a%mod+mod)%mod;}
//int lowbit(int x){return x&-x;}//最低位1及其后面的0构成的数值
//int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
//int inv(int a,int mod){return qmi(a,mod-2,mod);}
//int lcm(int a,int b){return a*b/__gcd(a,b);}
int a, b;
void solve()
{cin >> a >> b;if (a > b)swap(a, b);if (a == b){cout << 0 << '\n';return;}int ans = 1;for (int i = 1; ; i++){int sum = (1 + i) * i / 2;if (sum + a - b >= 0 && (sum + a - b) % 2 == 0){    ans = i; break;}}cout << ans << '\n';
}
signed main()
{buff;int _ = 1;cin >> _;while (_--)solve();
}

(1条消息) CodeForces 1278 B.A and B(Math)相关推荐

  1. Kafka一条消息如何被存储到Broker上?

    来自:z小赵 前言 经过上篇文章的简单实战之后,今天来聊聊生产者将消息从客户端发送到 Broker 上背后发生了哪些故事,看不看由你,但是我保证可以本篇文章你一定可以学到应用背后的一些实质东西. 本文 ...

  2. 一条消息是如何按照二进制协议写入到Batch中的ByteBuffer中的

    double-check模式中会将消息放到Batch中: //将消息放到batch中去 FutureRecordMetadata future = Utils.notNull(batch.tryApp ...

  3. rocketmq发送第一条消息(三)

    直接上代码 导包,pom.xml <dependency><groupId>org.apache.rocketmq</groupId><artifactId& ...

  4. Java黑皮书课后题第1章:1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun

    Java黑皮书第一章编程练习题:1.1(显示三条消息) 题目 题目描述 题目槽点 代码片段 零基础解释 ①print与println ②法2中的\n ③法2中的"+":连接两行 C ...

  5. java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?

    我在java中设置一个简单的TCP客户端服务器交互. 服务器: 服务器是用Java编写的桌面客户端: import java.io.BufferedReader; import java.io.Dat ...

  6. 表单form数据默认以键值对的形式将数据回发到服务器,回发非纯文本需使用enctype=multipart/form-data方式编码为整条消息...

    表单使用encrype=application/x-www-form-urlencoded时,各控件数据会以键值对的形式发到服务器,如果表单数据不是文本,这种编码就不能满足需要. 使用enctype= ...

  7. 掌握Rabbitmq几个重要概念,从一条消息说起

    RabbitMQ 是功能强大的开源消息代理.根据官网称:也是使用量最广泛的消息队列.就像他的口号"Messaging that just works",开箱即用使用简单,支持多种消 ...

  8. akka 异常处理_使用Akka处理1000万条消息

    akka 异常处理 Akka演员承诺并发. 有什么更好的模拟方法,看看使用商品硬件和软件处理1000万条消息需要花费多少时间,而无需进行任何低级调整.我用Java编写了整个1000万条消息的处理过程, ...

  9. 使用Akka处理1000万条消息

    Akka演员承诺并发. 有什么更好的模拟方式,看看使用商品硬件和软件处理1000万条消息需要花费多少时间,而无需进行任何低级调整.我用Java编写了整个1000万条消息的处理过程,整个结果令我惊讶. ...

最新文章

  1. AI指数评论:提防“路灯谬误”,开启全球多方对话
  2. python not in range1002无标题_17个新手常见Python运行时错误
  3. 关闭fedroa19开关机画面
  4. 多线程执行sql报错处理
  5. 惊爆:各大 App 可直接打开小程序!微信收割移动互联网的时间开始了
  6. java.util.concurrent包(6)——CyclicBarrier使用
  7. flex皮肤制作---通过flash
  8. jquery append和after, prepend和before的区别
  9. OpenCV模板匹配(cv2.matchTemplate)
  10. 安卓原生辅助功能应用实战——趣头条
  11. WDS桥接和WDS中继的区别
  12. 武大女硕士面试被拒,改简历冒充本科生找工作的感想(原创)
  13. autojs读取文件夹所有文件_Auto JS 文件类操作
  14. 小爱同学指令大全_小爱同学有哪些隐藏功能?小爱同学实用隐藏功能大汇总
  15. cpu利用率(cpu利用率突然100)
  16. 手动编译源代码安装GR GSM
  17. RSA非对称加密解密实现
  18. 2023美赛C题思路
  19. 用JavaScript写一个类似于windows的气泡屏保效果
  20. vscode 运行代码快捷键(Code Runner)

热门文章

  1. rdkitsmarts | 化学反应模板特殊官能团SMARTS整理
  2. 【愚公系列】2023年02月 .NET CORE工具案例-Caliburn.Micro的使用基于WPF的改造的MVVM案例
  3. MinIO The access key ID you provided does not exist in our records
  4. 推荐12个国外免费自助建站网站
  5. ES6学习笔记2:字符串的repeat()方法
  6. Java开发环境搭建-win10
  7. 手指和手势识别算法原理和解析
  8. 实现图片从远到近css,如何利用景深效果,使图片近大远小,我的demo怎么是近小远大,代码如下:...
  9. CRF as RNN 代码解读
  10. 生日悖论 Birthday Paradox 至少有两人同一天生日概率