zoukankan      html  css  js  c++  java
  • 题解 CF1543A Exciting Bets

    [ ext{题目大意} ]

    (quad)多组数据,每次给定两个数 (a,b,) 同加同减后使得 gcd((a,b)) 最大且操作次数最小。

    • 显然当 (a=b) 时,( ext{gcd}) 可到无穷大,输出 "0 0"。
    • 此外通过同余的规律可以发现: gcd 最大为 (|a-b|),操作次数为 (a mod ext{gcd} ,) ( ext{gcd}-a mod ext{gcd}) 中较小的一个,且只要一个满足是 gcd 的倍数,另一个必定满足(相差 ( ext{gcd}) )。
    • 记得开 long long。

    (quad)毕竟只是红题,非常的水。

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #define int long long
    #define re register int
    #define il inline
    il int read()
    {
      int x=0,f=1;char ch=getchar();
      while(!isdigit(ch)&&ch!='-')ch=getchar();
      if(ch=='-')f=-1,ch=getchar();
      while(isdigit(ch))x=(x<<1)+(x<<3)+ch-'0',ch=getchar();
      return x*f;
    }
    il void print(int x)
    {
      if(x<0)putchar('-'),x=-x;
      if(x/10)print(x/10);
      putchar(x%10+'0');
    }
    int n,a,b,c;
    il int abs(int x){return x>0?x:-x;}
    il int min(int x,int y){return x<y?x:y;}
    signed main()
    {
    	n=read();
    	for(re i=1;i<=n;i++)
    	{
    		a=read();b=read();
    		if(a==b){puts("0 0");continue;}
    		print(c=abs(a-b));putchar(' ');
    		print(min(a%c,c-a%c));putchar('
    ');
    	}
    	return 0;
    }
    
  • 相关阅读:
    sql语句中字符串分解查询的一种解决方法。
    VMware虚拟机的网络连接
    sql注入
    mvnrepository.com jar包下载
    局部刷新与json
    初涉json
    ios UIKit 基础控件创建与属性
    实用数学函数
    OC中的随机数函数——arc4random()
    OC中关于字符串的操作
  • 原文地址:https://www.cnblogs.com/FarkasW/p/15463160.html
Copyright © 2011-2022 走看看