【递归】地盘划分 暴力

问题 W: 【递归】地盘划分

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

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

输入

两个int整数,即长和宽。

输出

正方形个数。

样例输入

3 4

样例输出

4
#include <iostream>
#include <cstdio>
using namespace std;
 
int main()
{
 
    int n, m,total = 1;
    scanf("%d%d", &n, &m);
     if(n < m) swap(n, m);
    while(n^m){
         total++;
    n -= m;
    if(n < m) swap(n, m);
    }
    printf("%d
",total);
    return 0;
}
 
View Code
原文地址:https://www.cnblogs.com/cshg/p/5641843.html