#434. 地盘划分

【题目描述】:

修罗王和邪狼被关进监狱,该监狱的地下秩序实际被不少暗势力所把持,这些暗势力根据其实力不同,划分出了大大小小的势力范围。具体划分方式是这样的:监狱是一个给定的矩形,每一个暗势力的势力范围都必须是一个正方形,划分时,最大的暗势力尽可能多地从矩形中划分一块正方形,接下来,第二大的暗势力在剩下的矩形中尽可能多的划分一块正方形……例如,图1中所示是一个3×4的矩阵,可最少划分为4个势力范围。

也就是说,取走一个3×3的正方形后,将问题规模变成3×1,然后变成2×1,最后变成1×1。规模每缩小一次,正方形的个数加1。

【输入描述】:

一行两个整数,即长和宽。

【输出描述】:

输出正方形个数。

【样例输入】:

3 4

【样例输出】:

4

【时间限制、数据范围及描述】:

时间:1s 空间:64M

1<=监狱长和宽<=10^9

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
long long a,b,c,s=0;
int main(){
	scanf("%lld",&a);
	scanf("%lld",&b);
	while(a>1){
		if(b>a){c=a;a=b;b=c;}
		s+=a/b;
		a%=b;
	}
	if(a!=0){s+=b;}
	printf("%lld",s);
	return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/xiongchongwen/p/11821331.html