zoukankan      html  css  js  c++  java
  • 【递归】地盘划分

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

    题目描述

    修罗王和邪狼被关进监狱,该监狱的地下秩序实际被不少暗势力所把持,这些暗势力根据其实力不同,划分出了大大小小的势力范围。具体划分方式是这样的:监狱是一个给定的矩形,每一个暗势力的势力范围都必须是一个正方形,划分时,最大的暗势力尽可能多地从矩形中划分一块正方形,接下来,第二大的暗势力在剩下的矩形中尽可能多的划分一块正方形……例如,图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
  • 相关阅读:
    MongoDB安装与配置
    关于dependencies和devDependencies的理解
    npm常用指令小记
    git ssh配置
    浅谈sharding jdbc
    浅谈分布式数据库
    web容量规划
    mysql in()后子查询优化
    负载均衡架构
    领域驱动设计-3-模型的管理
  • 原文地址:https://www.cnblogs.com/SoulSecret/p/8447484.html
Copyright © 2011-2022 走看看