感觉真的很巧妙,我们多适几个会发现规律,也是一个小贪心吧。如果正常模拟的话会超时,比如n=10^16,m=1,那肯定超时。
所以我们想这种正方形能有几个,直接全加上,不要一个一个加了
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,sum;
int main(){
scanf("%lld%lld",&n,&m);
if(n>m)
swap(n,m);
while(n>0){
sum+=4*n*(m/n);
m%=n;
if(n>m)
swap(n,m);
}
printf("%lld\n",sum);
return 0;
}