#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
struct node
{
int x,y,z;
bool operator==(const node &a)const
{
return x==a.x&&y==a.y&&z==a.z;
}
}a,b;
int depth;
node find(node a,int res)
{
depth=0;
while(res)
{
int c=a.y-a.x,v=a.z-a.y;
if(c==v) return a;
if(c>v)
{
int k=(c-1)/v;
k=min(k,res);
a.y=a.y-k*v;
a.z=a.y+v;
depth+=k;
res-=k;
}
if(v>c)
{
int k=(v-1)/c;
k=min(k,res);
a.y=a.y+k*c;
a.x=a.y-c;
depth+=k;
res-=k;
}
}
return a;
}
int main()
{
scanf("%d%d%d%d%d%d",&a.x,&a.y,&a.z,&b.x,&b.y,&b.z);
if(a.x>a.y) swap(a.x,a.y);
if(a.x>a.z) swap(a.x,a.z);
if(a.y>a.z) swap(a.y,a.z);
P1852 [国家集训队]跳跳棋(LCA+二分)
最新推荐文章于 2022-09-03 19:35:26 发布
本文详细介绍了如何运用最低公共祖先(LCA)和二分搜索技术解决P1852国家集训队的跳跳棋问题。通过对题目的深入分析,阐述了算法思路及实现过程,帮助读者理解这两种算法在实际问题中的应用。
摘要由CSDN通过智能技术生成