Light OJ 1077 - How Many Points?

来源:互联网 发布:电脑游戏视频录制软件 编辑:程序博客网 时间:2024/04/29 19:01

思路:

对于一个数,求它的最大的约数就可以得到对这个数的最小分割,扩展至二维就是本题的要求的结果,求出最大公约数就可以得到二维的最小分割。

如图:


#include <stdio.h>#include <iostream>#include <string>#include <string.h>#include <algorithm>#include <stdlib.h>#include <math.h>#include <vector>#include <map>using namespace std;typedef long long ll;ll gcd(ll x,ll y){    return y?gcd(y, x%y):x;}int  main(){    ll x1,x2,y1,y2;    int t;    scanf("%d",&t);    for(int cas = 1;cas <= t;cas++){        scanf("%lld%lld%lld%lld",&x1,&y1,&x2,&y2);        printf("Case %d: %lld\n",cas,gcd(abs(x1-x2), abs(y1-y2))+1);    }    return 0 ;}


0 0
原创粉丝点击