K题

这题用贪心的思想,假如把一块矩形进行分割,应该是要把短边当作正方形的边来切。

以此规律进行切割,然后不断累加切出来的边长即可。

这边还要注意超时问题,优化一下应该才能通过。

#include<bits/stdc++.h>
using namespace std;
void solve()
{
	long long int n,m,ans=0,tar;
	cin>>n>>m;
	if(n>m)swap(n,m);
	while(n!=0)
	{
		tar=m/n;
		ans+=n*tar;
		m-=n*tar;
		if(n>m)swap(n,m);
		if(n==m)
		{
			ans+=n;
			break;
		}
	}
	cout<<ans<<endl;
	
}
int main()
{
	int t=1;
	while(t--)
	{
		solve();
	}
}