暂未完成,预计时间:可能完不成了。
OOOOOOOOrz wyy
L
CF730 Div.2 (A-C)
A
题目解释:
给定两个数 a 和 b,你可以将它们同时加上 k 或减去 k (k 取任意值),问保证最大的最大公因数情况下,题目设问k 最小值多少。此外,若最大公因数可为无限大,输出
0 0
。
题目解析:
不难想到当有公因数$res$时,$a \% res = 0 \& b\%res=0$.
所以有$(a-b) \%res=0$
那么当$a-b=res即有最大值$。
另出现0 0
的情况为$a=b$
// Problem: A. Exciting Bets
// Contest: Codeforces - Codeforces Round #730 (Div. 2)
// URL: https://codeforces.com/contest/1543/problem/A
// Memory Limit: 256 MB
// Time Limit: 1000 ms
#include <iostream>
#include <cstdio>
using namespace std;
long long abss(long long a)
{
if (a < 0)
{
return -a;
}
return a;
}
int main()
{
int t;
cin >> t;
while (t -- )
{
long long n, m;
cin >> n >> m;
long long t = abss(n - m);
if (t == 0)
{
cout << "0 0" << endl;
continue;
}
cout << t << " ";
cout << min(abs(n % t), t - abs(n % t)) << endl;
}
return 0;
}
OK....第一篇题解写完了,剩下的是不是就不用写了!
1 条评论
CCCCOrz