这个题就是求一段线段上整数点的个数。然后完全不知道这个竟然是两个边的最大公约数、、、也就是相似三角形的个数,所以加上一个原有的点就是答案。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <vector>
#include <iostream>
using namespace std;
long long int x1,x2,yy,y2,t;
long long int gcd(long long int a,long long int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
int main()
{
scanf("%d",&t);
for(int i=1; i<=t; i++)
{
scanf("%lld%lld%lld%lld",&x1,&yy,&x2,&y2);
long long int ans=gcd(abs(x1-x2),abs(yy-y2));
printf("Case %d: %lld\n",i,ans+1);
}
return 0;
}