1103: 地盘划分
最少可以划分多少个正方形,1个?NO,是指充分划分,也就是
剩下的部分不能再划分了,所以每次割正方形都要割一个最大的正方形
//3 * 4的矩形,依次可以分隔成3 * 4->3 * 3, 3 * 1,

1、要对递归进行优化呀,不管是否超时都要追求好的算法
2、本来想用一个数组来记录已经找过的状态,以便下次查询,不仅想法不靠谱
//const int MAX=1e5+2;
//int a[MAX][MAX];只是定义了一个这样大的数组在New Online Judge上就报错

/usr/bin/ld: failed to convert GOTPCREL relocation; relink with
–no-relax collect2: error: ld returned 1 exit status
网上对这个报错说法不一,有一个说到是全局变量中开了一个过大的数组,把定义数组的语句注释掉,果然不再编译错误
/usr/bin/ld: failed to convert GOTPCREL relocation; relink with --no-relax
collect2: error: ld returned 1 exit status

#include<iostream>
#include<algorithm>
using namespace std;
//const int MAX=1e5+2;
//int a[MAX][MAX];只是定义了一个这样大的数组在New Online Judge上就报错
int fun(int m,int n){ if(m==n)return 1;else if(m>n)swap(m,n);
//  return fun(n-m,m)+1;//简单这样会超时if(n%m==0)return n/m;else return fun(m,n%m)+n/m;//3 4
}
int main(){int n,m;while(cin>>n>>m){cout<<fun(m,n)<<endl;   }return 0;
}

矩形中分出正方形,递归优化相关推荐

  1. C++:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。(跟奥巴马一起画方块)

    题目概述: 输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格. 编程: #include< iostream> using namespace std; ...

  2. 如何从移动硬盘中分出一个区做启动盘

    如何从移动硬盘中分出一个区来做系统安装启动盘 前两天入手了一个1T的移动硬盘,琢磨着能不能用来做一个系统启动盘呢?于是上网搜各种大神的资料,终于搞定了.能够做成系统启动盘,能进入Win PE系统,但是 ...

  3. 【算法】递归:递归优化之尾递归

    [算法]递归:递归优化之尾递归 引言:在以往我发过一篇过于通过分析法去理解递归求解递归的博客文章,那篇文章主要介绍了如何去求解递归问题.而在这篇文章中,我会介绍一下如何去优化递归,顺带还会去分析一下递 ...

  4. 一片树林里分出两条路,而我选择了人迹更少的一条

    未选择的路 黄色的树林里分出两条路 可惜我不能同时去涉足 我在那路口久久伫立 我向着一条路极目望去 直到它消失在丛林深处 但我却选择了另外一条路 它荒草萋萋,十分幽寂 显得更诱人,更美丽 虽然在这条小 ...

  5. 小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。 当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形

    小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形. 当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止. 例 ...

  6. java递归优化_在Java中谈尾递归--尾递归和垃圾回收的比较

    我不是故意在JAVA中谈尾递归的,因为在JAVA中谈尾递归真的是要绕好几个弯,只是我确实只有JAVA学得比较好,虽然确实C是在学校学过还考了90+,真学得没自学的JAVA好 不过也是因为要绕几个弯,所 ...

  7. 求一点是否在正方形/矩形中

    题目描述: 给出了正方形的坐标x,y和边长a,那么正方形的对角分别为x,y和x+a,y+a,给一个坐标,问坐标是否在正方形中(边界上也算) 输入: 3 2 8 8 10 输出: yes 编写简单函数: ...

  8. 7-100 简单求阶乘问题 (10 分)本题要求编写程序,计算N的阶乘。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出阶乘的值。输入样例:4结尾无空行

    7-100 简单求阶乘问题 (10 分) 本题要求编写程序,计算N的阶乘. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出阶乘的值. 样例">输入样例 ...

  9. 怎样快速画出一个正方体_Excel 怎样在EXCEL中快速制作出正方形/如何画多个正方体...

    Excel 怎样在EXCEL中快速制作出正方形 根据列宽:行高=1:5.85来设置即可. 如果要全部设置,全选单元格(ctrl A),分别在列头和行头右键,按1:5.85的比例分别设置列宽和行高. e ...

最新文章

  1. SpringCloud使用Sofa-lookout监控(基于Eureka)
  2. JPA入门到精通 - JPA入门
  3. miui替换官方文件解决无服务器,miui 关掉云服务器
  4. linux中resize的含义,linux的resize2fs命令
  5. Linux中批量创建空白文件,在Linux中批量创建和修改文件或目录
  6. Python模块——HashLib(摘要算法)与base64
  7. Android 系统性能优化(15)---Android性能优化典范 - 第3季
  8. 离开北上广的互联网工程师最终都去了哪里?
  9. android 数据持久化——I/O操作
  10. 17秋 软件工程 团队第三次作业 预则立他山之石
  11. 接口学习心得(Interface)
  12. SQL:postgresql中拼接字符串
  13. Rust : 红楼梦一书中文字符的统计
  14. 002-周立功USBCAN-II+CAN接口卡使用笔记
  15. html的页脚设计,如何单独设置页眉页脚
  16. 笔记本安装Ubuntu9.04.图文并茂
  17. 04_python爬虫爬取超星回放
  18. Android Q的多屏幕支持
  19. 直接插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 基数排序的算法分析和具体实现 ...
  20. 真香啊,一文讲透金融风控建模全流程(Python)

热门文章

  1. 把多个txt文件合成一个txt文件
  2. Google Cloud 发起“Data Cloud Alliance”新联盟
  3. Unity 网格画图形
  4. 根据离散傅里叶变换对ECG信号进行频谱分析
  5. 【php】PHP数据库访问
  6. 明日之后八级房怎么造?明日之后好看的八级房蓝图造型汇总
  7. 微信官方支付接口配置教程
  8. 第四次面试----华数电力科技有限公司
  9. Kali linux 学习笔记(三十四)无线渗透——WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit) 2020.3.13
  10. 输入文本的html,输入文本的步骤主要包括