acdream.郭式树(数学推导)

郭式树
Time Limit:2000MS     Memory Limit:128000KB     64bit IO Format:%lld & %llu

Description

郭橐驼,不知始何名。病偻,隆然伏行,有类橐驼者,故乡人号之驼。驼闻之,曰:“甚善。名我固当。”因舍其名,亦自谓橐驼云。其乡曰丰乐乡,在长安西。驼业种树,凡长安豪富人为观游及卖果者,皆争迎取养。视驼所种树,或移徙,无不活;且硕茂,蚤实以蕃。他植者虽窥伺效慕,莫能如也。   有问之,对曰:“橐驼非能使木寿且孳也,以能顺木之天,以致其性焉尔。凡植木之性,其本欲舒,其培欲平,其土欲故,其筑欲密。既然已,勿动勿虑,去不复顾。其莳也若子,其置也若弃,则其天者全,而其性得矣。故吾不害其长而已,非有能硕而茂之也。不抑耗其实而已,非有能蚤而蕃之也。他植者则不然:根拳而土易。其培之也,若不过焉则不及。苟有能反是者,则又爱之太殷,忧之太勤。旦视而暮抚,已去而复顾;甚者爪其肤以验其生枯,摇其本以观其疏密,而木之性日以离矣。虽曰爱之,其实害之;虽曰忧之,其实仇之,故不我若也,吾又何能为哉?” 

相传郭橐驼又在种树了,他沿着一条笔直的马路种了3棵树A,B,C。

不过忘记了ABC从左到右的顺序,他只知道B在A的右方 步处(如果 x 为负则B在A的左方 -x 步处),C在A的右方 步处(如果 y 为负责C在A左方 -y 步处)。

他想知道BC距离多少步(答案一定为正数且不为0)。

因为他种的树太多了,他只知道 |x|, |y| (取绝对值, |1| = 1, |-2| = 2) ≤ 4611686018427387904

Input

第一行是数据组数T(T ≤ 100000)

每组数据两个整数 x , y (-4611686018427387904 ≤ x, y ≤ 4611686018427387904)

Output

对于每组数据输出一个正数代表BC间的距离

Sample Input

2
1 2
4611686018427387904 -4611686018427387904

Sample Output

1 
9223372036854775808
 
 1 #include<stdio.h>
 2 #include<algorithm>
 3 int T ;
 4 typedef long long ll ;
 5 ll x , y ;
 6 
 7 int main ()
 8 {
 9     //freopen ("a.txt" , "r" , stdin ) ;
10     scanf ("%d" , &T);
11     while (T--) {
12         scanf ("%lld%lld" , &x , &y) ;
13         if (x < y) std::swap (x , y) ;
14         if (y < 0 ) {
15             y = -y ;
16             printf ("%llu
" , (unsigned ll) x + y) ;
17         }
18         else printf ("%llu
" , (unsigned ll) x - y) ;
19     }
20     return 0 ;
21 }
View Code

因为刚好会有一个答案比long long 多1 , 所以灵活运用unsigned long long 就行了。

原文地址:https://www.cnblogs.com/get-an-AC-everyday/p/4431749.html