arc159b
题目链接:https://atcoder.jp/contests/arc159/submissions/40436772
苦思冥想搞好几个小时终于给我过了哈哈哈哈。(虽然比赛的时候没调出来。。)
思路:
代码:
#include<bits/stdc++.h>
using namespace std;
long long gcd(long long x,long long y){
if (!y) return x;
return gcd(y,x%y);
}
long long dfs(long long x,long long y){
if (abs(x-y)==1) return min(x,y);
if (!x||!y) return 0;
if (x==y) return 1;
if (gcd(x,y)>1) return dfs(x/gcd(x,y)-1,y/gcd(x,y)-1)+1;
long long d = abs(x-y);
long long val = min(d,min(x,y));
for (int i=1;i<=d/i;i++){
if (d%i==0){
if (x%i==y%i&&gcd((x-x%i),(y-y%i))==i&&i>1){
val = min(val,x%i);
}
long long j = d/i;
if (x%j==y%j&&gcd((x-x%j),(y-y%j))==j&&j>1){
val = min(val,x%j);
}
}
}
return dfs(x-val,y-val)+val;
}
int main(){
long long x,y;
cin>>x>>y;
cout<<dfs(x,y);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)