递归地盘划分

Posted 听风不成泣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归地盘划分相关的知识,希望对你有一定的参考价值。

[提交][状态][讨论版]

题目描述

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

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

输入

两个int整数,即长和宽。

输出

正方形个数。

样例输入

3 4

样例输出

4



技术分享图片
 1 #include <iostream>
 2 #include <bits/stdc++.h>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int n,m,cnt=1;
 8     scanf("%d%d",&n,&m);
 9     if(n<m)
10         swap(n,m);
11     while(n^m)
12     {
13         cnt++;
14         n-=m;
15         if(n<m)
16             swap(n,m);
17     }
18     cout << cnt << endl;
19     return 0;
20 }
View Code

 

以上是关于递归地盘划分的主要内容,如果未能解决你的问题,请参考以下文章

递归地盘划分

递归拆分自然数

2021-12-24:划分字母区间。 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 力扣763。某大厂面试

如何使用 xcode 将快照划分为多个片段,以便让用户与每个片段进行交互?

JavaScript - 代码片段,Snippets,Gist

Java 求解划分字母区间