矩形中分出正方形,递归优化
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;
}
矩形中分出正方形,递归优化相关推荐
- C++:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。(跟奥巴马一起画方块)
题目概述: 输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格. 编程: #include< iostream> using namespace std; ...
- 如何从移动硬盘中分出一个区做启动盘
如何从移动硬盘中分出一个区来做系统安装启动盘 前两天入手了一个1T的移动硬盘,琢磨着能不能用来做一个系统启动盘呢?于是上网搜各种大神的资料,终于搞定了.能够做成系统启动盘,能进入Win PE系统,但是 ...
- 【算法】递归:递归优化之尾递归
[算法]递归:递归优化之尾递归 引言:在以往我发过一篇过于通过分析法去理解递归求解递归的博客文章,那篇文章主要介绍了如何去求解递归问题.而在这篇文章中,我会介绍一下如何去优化递归,顺带还会去分析一下递 ...
- 一片树林里分出两条路,而我选择了人迹更少的一条
未选择的路 黄色的树林里分出两条路 可惜我不能同时去涉足 我在那路口久久伫立 我向着一条路极目望去 直到它消失在丛林深处 但我却选择了另外一条路 它荒草萋萋,十分幽寂 显得更诱人,更美丽 虽然在这条小 ...
- 小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。 当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形
小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形. 当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止. 例 ...
- java递归优化_在Java中谈尾递归--尾递归和垃圾回收的比较
我不是故意在JAVA中谈尾递归的,因为在JAVA中谈尾递归真的是要绕好几个弯,只是我确实只有JAVA学得比较好,虽然确实C是在学校学过还考了90+,真学得没自学的JAVA好 不过也是因为要绕几个弯,所 ...
- 求一点是否在正方形/矩形中
题目描述: 给出了正方形的坐标x,y和边长a,那么正方形的对角分别为x,y和x+a,y+a,给一个坐标,问坐标是否在正方形中(边界上也算) 输入: 3 2 8 8 10 输出: yes 编写简单函数: ...
- 7-100 简单求阶乘问题 (10 分)本题要求编写程序,计算N的阶乘。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出阶乘的值。输入样例:4结尾无空行
7-100 简单求阶乘问题 (10 分) 本题要求编写程序,计算N的阶乘. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出阶乘的值. 样例">输入样例 ...
- 怎样快速画出一个正方体_Excel 怎样在EXCEL中快速制作出正方形/如何画多个正方体...
Excel 怎样在EXCEL中快速制作出正方形 根据列宽:行高=1:5.85来设置即可. 如果要全部设置,全选单元格(ctrl A),分别在列头和行头右键,按1:5.85的比例分别设置列宽和行高. e ...
最新文章
- SpringCloud使用Sofa-lookout监控(基于Eureka)
- JPA入门到精通 - JPA入门
- miui替换官方文件解决无服务器,miui 关掉云服务器
- linux中resize的含义,linux的resize2fs命令
- Linux中批量创建空白文件,在Linux中批量创建和修改文件或目录
- Python模块——HashLib(摘要算法)与base64
- Android 系统性能优化(15)---Android性能优化典范 - 第3季
- 离开北上广的互联网工程师最终都去了哪里?
- android 数据持久化——I/O操作
- 17秋 软件工程 团队第三次作业 预则立他山之石
- 接口学习心得(Interface)
- SQL:postgresql中拼接字符串
- Rust : 红楼梦一书中文字符的统计
- 002-周立功USBCAN-II+CAN接口卡使用笔记
- html的页脚设计,如何单独设置页眉页脚
- 笔记本安装Ubuntu9.04.图文并茂
- 04_python爬虫爬取超星回放
- Android Q的多屏幕支持
- 直接插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 基数排序的算法分析和具体实现 ...
- 真香啊,一文讲透金融风控建模全流程(Python)
热门文章
- 把多个txt文件合成一个txt文件
- Google Cloud 发起“Data Cloud Alliance”新联盟
- Unity 网格画图形
- 根据离散傅里叶变换对ECG信号进行频谱分析
- 【php】PHP数据库访问
- 明日之后八级房怎么造?明日之后好看的八级房蓝图造型汇总
- 微信官方支付接口配置教程
- 第四次面试----华数电力科技有限公司
- Kali linux 学习笔记(三十四)无线渗透——WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit) 2020.3.13
- 输入文本的html,输入文本的步骤主要包括