Description
给定平面坐标系中的两点A(x1,y1)和B(x2,y2),通过这两点做一条线段,求这条线段在坐标系中经过的整数点的个数( 包括A和B本身这两点)。
Input
输入的第一行一个整数T,表示测试样例数。 接下来T行,每行4个整数用空格隔开,分别表示x1,y1, x2,y2.(0<=xi,yi<=2^32-1)
Ouput
输出通过A和B两点做一条线段,该线段在坐标系中经过的整数点的个数(包括A和B本身这两点)。
Sample Input
3
0 0 3 3
1 1 2 2
0 0 2 5
Sample Output
4
2
2
Hint
此题要用两坐标整数个数的最大公约数做,否则超时。
#include#include int fun(int a,int b){ if(b==0)return a; return fun(b,a%b);}int main(){ int n,i,x1,x2,y1,y2; while(scanf("%d",&n)!=EOF){ for(i=0;i