//活动地址: 牛客春招刷题训练营 - 编程打卡活动 #include <bits/stdc++.h> using namespace std; void solve(){ int a,b,x,y; // 这题真 难评.... 直接去看76哥的题解吧 针补费 cin>>a>>b>>x>>y; int g=__gcd(x,y); // if(a==b){ if(a%2==0||b%2==0) cout<<a+b+1;//对角线重合 else cout<<a+b+2; } else{ int ans=(a+1)*2+(b+1)*2; ans-=2*(__gcd(a,b)+1); if(a%2==0||b%2==0) ans-=1; cout<<ans; } } int main() { int T=1; //cin>>T; while(T--){ solve(); } } //活动地址: 牛客春招刷题训练营 - 编程打卡活动 // 64 位输出请用 printf("%lld")