双头巨人 (twin)

时间限制: 1 Sec 内存限制: 128 MB

题目描述

请开 long long

老爹说要用魔法打败魔法 ———— 3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz

一天,巨神 3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 正在森林里漫步,突然,一只凶恶的双头巨人拦住了他。

双头巨人的两个头的攻击力分别为 a , b a,b a,b。它每次可以对 3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 造成 ∣ a − b ∣ |a-b| ∣a−b∣ 的魔法伤害。

3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 觉得这只怪物十分难缠。

“要用魔法打败魔法!” 就在这时,老爹的话回响在 3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 的耳边, 3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 顿时感到一股力量涌上心头,于是,他决定从它的特殊能力下手,从而打败它。

998244353 998244353 998244353 年前,巨神 R a i n y 7 Rainy7 Rainy7 曾经教过他名为 爪巴 的 % 法,他决定用这种 % 法击败巨人。

3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 可以使用无限次法术,第 i i i 次使用可以任选一个头,使得它的攻击力增加或减少 i i i。(在此过程中攻击力可以是负数)

3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 不想受到任何伤害,所以,他想知道,他至少要施几次法,才能使得 a − b = 0 a-b=0 a−b=0。

3 e d c 2 w s x 1 q a z 3edc2wsx1qaz 3edc2wsx1qaz 只用了 11451 4 − 1919810 s 114514^{-1919810}s 114514−1919810s 就解决了这个问题,于是让您解决。

输入

第一行一个数 T T T,表示数据组数。
对于每组数据,一行两个数 a , b a,b a,b,代表双头巨人两个头的攻击力。

输出

对于每组数据,一行一个整数,表示最小次数。

样例输入

【样例1】

3
1 3
11 11
30 20

【样例2】

1
114514 1919810

样例输出

【样例1】

3
0
4

【样例2】

1900

提示

样例 1 1 1 解释:
对于数据 1 1 1,一种操作流程如下: 1 + 1 = 2 , 3 + 2 = 5 , 2 + 3 = 5 1+1=2,3+2=5,2+3=5 1+1=2,3+2=5,2+3=5
对于数据 2 2 2,由于相等,所以答案为 0 0 0。
对于数据 3 3 3,一种操作流程如下: 20 + 1 + 2 + 3 + 4 = 30 20+1+2+3+4=30 20+1+2+3+4=30。

对于 100 % 100\% 100% 的数据 1 ≤ T ≤ 100 1 0 − 9 ≤ a , b ≤ 1 0 9 1 \leq T \leq 100 \quad 10^{-9} \leq a,b \leq 10^{9} 1≤T≤10010−9≤a,b≤109

思路

a + s u m 1 − s u m 2 = b + s u m 3 − s u m 4 a − b = s u m 3 + s u m 2 − s u m 1 − s u m 4 令 d = a − b s u m 3 + s u m 2 = x s u m 1 + s u m 4 = y { d = x − y i ( i + 1 ) 2 = x + y a+sum1-sum2=b+sum3-sum4 \\ a-b=sum3+sum2-sum1-sum4\\ 令d=a-b\\sum3+sum2=x\\sum1+sum4=y\\ \begin{cases} d=x-y\\ \frac{i(i+1)}{2}=x+y \end{cases} a+sum1−sum2=b+sum3−sum4a−b=sum3+sum2−sum1−sum4令d=a−bsum3+sum2=xsum1+sum4=y{d=x−y2i(i+1)​=x+y​
解方程得
x = i ( i + 1 ) + 2 d 4 y = i ( i + 1 ) − 2 d 4 x , y ∈ N x=\frac{i(i+1)+2d}{4}\\ y=\frac{i(i+1)-2d}{4}\\ x,y\in \mathbb{N} x=4i(i+1)+2d​y=4i(i+1)−2d​x,y∈N
最后条件是最小化 i i i

#pragma GCC optimize(3,"Ofast","inline")
#include <iostream>
#include <cstdio>
#include <cstring>
#include <set>
#include <cmath>
#include <map>
#include <algorithm>
#include <unordered_map>
#include <vector>
using namespace std;
#define ls (rt<<1)
#define rs (rt<<1|1)
typedef long long ll;
template <typename T>
inline void read(T &x) {x = 0;static int p;p = 1;static char c;c = getchar();while (!isdigit(c)) {if (c == '-')p = -1;c = getchar();}while (isdigit(c)) {x = (x << 1) + (x << 3) + (c - 48);c = getchar();}x *= p;
}
template <typename T>
inline void print(T x) {static int cnt;static int a[50];cnt = 0;do {a[++cnt] = x % 10;x /= 10;} while (x);for (int i = cnt; i >= 1; i--)putchar(a[i] + '0');puts("");
}
const int mod = 1e9+7;
const int inf = 0x3f3f3f3f;
const int maxn = 300+10;
ll a,b;
inline void work() {scanf("%lld %lld", &a, &b);ll d = abs(a - b);if (!d){puts("0");return;}ll k = sqrt(d);for (ll i = max(1ll, k - 10000); i <= k + 100000; i++) {if (i * (i + 1) - 2 * d >= 0 && (i * (i + 1) - 2 * d) % 4 == 0 && (i * (i + 1) + 2 * d) % 4 == 0) {printf("%lld\n", i);return;}}
}
int main() {int T = 1;read(T);while (T--) {work();}return 0;
}

双头巨人 (twin)相关推荐

  1. Pathos: Nethack Codex 游戏指南

    Pathos: Nethack Codex 人物 能力 能力名称 穿戴和食用 食用 力量 力量之戒 力量手套 能力提升药水 蘑菇 蜂王浆团 负重之靴 敏捷 敏捷之戒 敏捷手套 能力提升药水 体质 体质 ...

  2. 【异界双子-twin souls-】Tech Support

    [异界双子-twin souls-]Tech Support Getting Support: mail: info@starforce.cc or leave comment below. 1995 ...

  3. matlab凸轮转子泵型线设计坐标变换,基于Matlab的双头双螺杆泵转子型线设计

    ? 基于Matlab的双头双螺杆泵转子型线设计 基于Matlab的双头双螺杆泵转子型线设计 朱君,张帆,吴高捷,孙亚静 (扬州大学机械工程学院,江苏扬州 225127) 摘要:选用长幅外摆线加上外摆线 ...

  4. 站在巨人的肩膀上“思考”问题,重在思考而不是拿来主义

    米老师按:觉得值得讨论的小文!我还要认真地想一想 主题:围绕职责链设计模式-计算收费有效时间博客展开讨论 参与人: 讨论时间: 讨论内容 这次讨论主要分为以下几点: 一.职责链模式应用于机房收费系统计 ...

  5. 小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向

    今天上午,第一届小米开源技术峰会在北京举行,会上,小米人工智能与云平台副总裁崔宝秋致开场词,并发表了<小米开源之路>的演讲. 崔宝秋强调小米一直在推动开源,也是开源的倡导者.他告诉我们雷军 ...

  6. 计算机史最疯狂一幕:豪赌50亿美元,“蓝色巨人”奋身一跃

    作者 | OneFlow社区 来源 | OneFlow社区 "Go big or go home. "是美国人的一句习语,经常会在赛场上听到,NBA球迷应该很熟悉,翻译过来就是&q ...

  7. lisp 线性标注自动避让_泰州支重轮双头车自动化生产线

    泰州支重轮双头车自动化生产线数控机床的通电:机床一般使用三根动力线,一根接地保护线,要注意电缆线的平方数,在机床说明书的线路图中都有明确标注.线轨硬轨?加工中心导轨到底应该怎么选?机床行业的人士都知道 ...

  8. 第一次全面揭示世界软件巨人微软致胜的技术奥秘

    媒体评论 "这本书很好地兼顾了管理和技术两个方面,内容涉及软件建模.安全设计.防御性编程等.应用书中提供的最佳实践,可以令开发人员的软件开发水平更上一层楼." --John Rob ...

  9. 品牌故事第11期之IBM:连亏168亿都逆袭,蓝色巨人的百年兴衰史

    https://www.toutiao.com/a6700496808159740424/ 追溯品牌历史,挖掘科技背后故事,大家好,这里是每周日准时与大家见面的品牌故事,我是各位的老朋友游戏日报阿野. ...

最新文章

  1. 在Ubuntu 16.04.1 LTS上安装ATS 6.2.1 LTS实录
  2. c51语言定义全局变量,全局变量的定义和使用
  3. python爬取虾米音乐_Python爬取620首虾米歌曲,揭秘五月天为什么狂吸粉?!
  4. LeetCode 49 Group Anagrams(字符串分组)
  5. leetcode题解77-子集
  6. 吴恩达深度学习的实用层面编程作业:正则化Regularization
  7. C++基础——格式化输出
  8. python 空列表对象的布尔值_python – 从TensorFlow对象中检索数据 – 来自correct_prediction的布尔值列表...
  9. jq移除一条html语句,jquery html()删除脚本标签
  10. 2018中国城市建设统计年鉴(Excel版)
  11. AWWWB.COM网站克隆器
  12. css 动效彩旗飘扬
  13. 顺丰云服务器,基于华为云云原生解决方案,顺丰“快递+”这一项业务效率提升了48倍...
  14. 微型计算机中既能作为输出设备,在微机的硬件设备中,有一种设备在程序设计中既可以当做输出设备,又可以当做输入设备,这种设备是ß...
  15. NumPy 学习 第三篇:矢量化和广播
  16. 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...
  17. C语言:while后接分号“;”与不接分号“;”的区别
  18. 如何将旧电脑数据迁移到新电脑?10 款数据迁移软件工具分享
  19. 关于STM32F407ZGT6的一些知识小结及串口1程序
  20. Python量化编程如何判断均线数据是金叉还是死叉?-股市数据均线策略编程分析

热门文章

  1. Linux文件系统目录结构详解
  2. 从零双排java之打印流
  3. 服务器繁忙 微信 苹果,iOS 9正式放出 服务器繁忙苹果推荐用户早晨更新
  4. GBA火焰纹章改版-智慧的结晶
  5. Vue 2.x折腾记 - (15) 捣鼓一个中规中矩loading组件
  6. Zoning Houses Kattis 多组记录线段树/ST表
  7. Flutter键盘弹出造成布局异常解决
  8. Java—初识Java与开发环境的安装
  9. 微信小程序自定义底部导航栏遮挡页面内容(已解决)
  10. Docker容器映射端口方法