递归
来源:互联网 发布:qq windows phone 8.1 编辑:程序博客网 时间:2024/06/03 05:32
递归:递归是指某个函数直接或间接的调用自身。问题的求解过程就是划分成许多相同性质的子问题的求解,而小问题的求解过程可以很容易的求出,这些子问题的解就构成里原问题的解。
例如,二分中常用的寻找根节点的递归:
int find(int x){
return x==per[x]?x:(per[x]=find(per[x]);
}
hdu--red and black
#include<stdio.h>char a[25][25];int count;int w,h;void find(int x,int y){if(a[x][y]=='#')return ;if(x<1||x>h||y<1||y>w)return ;a[x][y]='#';count++;find(x-1,y);find(x+1,y);find(x,y-1);find(x,y+1);}int main(){int i,j,x,y;while(scanf("%d%d",&w,&h),w|h){count = 0;for(i=1;i<=h;i++){getchar();for(j=1;j<=w;j++){scanf("%c",&a[i][j]);if(a[i][j]=='@'){x=i;y=j;}}} find(x,y);printf("%d\n",count);}return 0;}
hdu---Oil Deposists
#include<stdio.h>#include<string.h>char z[105][105];int m,n;void dsf(int a,int b){int i; if(a<0||a>m-1||b<0||b>n-1||z[a][b]!='@')return ; if(z[a][b]=='@') z[a][b]='*';dsf(a-1,b);dsf(a-1,b-1);dsf(a+1,b+1);dsf(a-1,b+1);dsf(a+1,b-1);dsf(a+1,b);dsf(a,b-1);dsf(a,b+1);}int main(){ int i,a,b,sum,j;while(scanf("%d%d",&m,&n)&&m){getchar();sum=0;memset(z,0,sizeof(z));for(i=0;i<m;i++){gets(z[i]);}for(i=0;i<m;i++)for(j=0;j<n;j++){if(z[i][j]=='@'){sum++;dsf(i,j);}}printf("%d\n",sum);}return 0;}hdu--N皇后问题
#include<stdio.h>#include<math.h>int n;//n表示几乘机几方格 int k;//k表示第几个皇后 int count;//表示可能的情况 int mark[12];void dsf(int m){int i,j,flag;flag=0;if(m==n+1){count++;return ;}for(i=1;i<=n;i++){ mark[m]=i; //第几个皇后就在第几行 ,mark【】表示皇后的列位置 flag=1;for(j=1;j<m;j++)//将现在皇后的位置与之前几个皇后位置进行对比,若可以则继续找下一个皇后 {if(mark[j]==i||abs(m-j)==abs(i-mark[j]))//i,j既表示第几个皇后也表示第几行 {flag=0;break;}}if(flag)dsf(m+1);}}int main(){int t;int queen[12];for(n=1;n<=10;n++){count = 0;dsf(1);queen[n]=count;}while(scanf("%d",&t)&&t){printf("%d\n",queen[t]);}return 0;}
0 0
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- Java面向对象--继承
- Thrift 基础教程(二)编码篇
- 最有效的方法来增加在Map中的值
- 8.3总结
- SQL 左外连接,右外连接,全连接,内连接
- 递归
- android studio imageview src Failed convert xxxx into drawable xxxx
- eclipse源代码热部署
- 大白话讲解数据挖掘【案例】潜客模型的数据框架
- 维护中一些明显但容易忽视的好方法
- 有待解决
- 苹果开发 笔记(56)下载zip文件到沙箱更新
- 邻位互换法
- codeforces 543C C. Remembering Strings(状态压缩dp)