提交时间:2022-06-04 12:53:30

运行 ID: 40738

#include <bits/stdc++.h> using namespace std; int w,h,x,y; int f2(int m,int n){ int as=0; while(m!=n){ if(n*2>=m){ as++; break; } if(m%2==0){ m/=2; } else{ m/=2; m++; } as++; } return as; } int f1(int a,int b){ int ans=f2(a,x)+f2(b,y); return ans; } int main(){ cin>>w>>h>>x>>y; if((x>w&&x>h)||(y>w&&y>h)){ cout<<-1; } else{ cout<<min(f1(w,h),f1(h,w)); } return 0; }