zoukankan      html  css  js  c++  java
  • 小X与机器人

    小X在做一个机器人的项目,他正思考这样一个问题:如果一个小机器人从(x1, y1)这个位置出发,沿直线移动到(x2, y2)这个位置,它一共经过了多少个交叉点?
    注意起点和终点也算作经过,因此至少经过了2个交叉点。

    输入
    输入数据仅有一行包含4个用空格隔开的正整数,分别表示x1, y1, x2, y2

    输出
    输出一行包含一个小于20的正整数,表示从(x1, y1)沿直线移动到(x2, y2)经过的交叉点的个数。

    int gcd(int x, int y) {
        if (y == 0) return x;
        return gcd(y, x%y);
    }
    
    int main(int argc, const char * argv[]) {
        /*
         x1=x2
         y1=y2
         
         一个 格 w=h=1
         正方形 abs(x1-x2)
         
         奇偶 2
         奇奇  2
         偶偶  3
         */
        int x1,x2,y1,y2;
        cin >> x1>>y1>>x2>>y2;
        
        int w = abs(x1 - x2);
        int h = abs(y1 - y2);
        
        cout <<gcd(w, h)+1<<endl;
        return 0;
    }
    
  • 相关阅读:
    批量执行工具PSSH详解
    详解IPTABLES
    nginx启动脚本
    ansible离线安装
    Linux性能评估工具
    Python中路径操作
    mongodb Enable Auth
    MySQL配置参数说明
    redis未授权访问
    php反序列化笔记
  • 原文地址:https://www.cnblogs.com/i-8023-/p/12091990.html
Copyright © 2011-2022 走看看