![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递归专项
strawberry zong
这个作者很懒,什么都没留下…
展开
-
Red and Black(DFS经典题)
题意:在一个长方形的区域,有黑色和红色两种方块,一个人站在一块黑色的方块上,他可以向四个方向移动,但是每次移动只能移动到另一个黑色的方块上,问共有多少黑色的方块。#include<iostream>#include<cmath>#include<cstring>using namespace std;int dx[]={0,1,0,-1};int dy[]={1,0,-1,0};int vis[21][21];int ans;char ch[21]...原创 2020-08-01 10:03:14 · 407 阅读 · 0 评论 -
Fractal(递归输出图形)
题解:就是根据输入的n值来递归输出图形,我们不难发现在n的情况下,图形的宽度为3^(n-1),假设起始坐标为x,y,我们可以发现当k为上一级图形的宽度时,我们递归该图形的五个部分,则分别为(n-1,x,y+2k),(n-1,x+k,y+k),(n-1,x+2k,y),(n-1,x+2k,y+2k)。由于n的范围很小,所以我们可以预处理出图案。#include<iostream>#include<cmath>#include<cstring>using na...原创 2020-08-01 09:34:40 · 410 阅读 · 0 评论 -
放苹果
题解:首先分类讨论,找到递归的边界和公式。1.当m<=1或者n=1的时候,这时候只有一种放法,答案为1。2.当m<n的时候,其结果与check(m,n)是一样的。3.当m>=n的时候,考虑如果这个时候保留一个空的盘子,那么,答案为check(m,n-1)如果每个盘子都有苹果,那么首先我们拿出n个苹果放在n个盘子上,这个时候还有m-n个苹果还没有被分配,那么最后结果其实就与这m-n个苹果的放法一样。所以在第三种情况下结果为check(m,n-1)+check(m-n,n)。特别.原创 2020-07-29 21:49:50 · 92 阅读 · 0 评论