2013年2月4日

hdu 1258(dfs)

摘要: 题意:首先给你一个t,然后是n,后面输入n个数(是非递增顺序的,亲~要注意一下哦),然后让你求的是n个数中和为t的序列总共有多少种,把他们按从左到右的顺序输出来。思路:深搜思想,最重要的是如何避免重复的序列(详见代码)代码实现:#include<iostream>#include<cstring>using namespace std;int sum,n,a[20],b[20],s,flag;void dfs(int f,int num)//深搜{ int i,visited[101]; if(s==sum) //满足题意就输出来 { flag=0; ... 阅读全文

posted @ 2013-02-04 13:34 后端bug开发工程师 阅读(287) 评论(1) 推荐(0) 编辑

hdu 1016(一道经典的dfs)

摘要: 题意:很容易理解,就是让你输出满足相邻的相加是素数的序列(注意不要重复)思路就是深搜思想把每种情况遍历一次代码实现:#include<stdio.h>#include<string.h>int prime[40]={0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0},n;//素数打表,因为n最大是20,所以只要打到40int visited[21],a[21];void dfs(int num)//深搜{ int i; if(num==n&&pr 阅读全文

posted @ 2013-02-04 13:13 后端bug开发工程师 阅读(7168) 评论(0) 推荐(0) 编辑

导航