回溯题型主要有两种,一种是子集生成问题:就是给你一个集合,求它的子集,这种主要是通过选或不选当前元素来枚举所有情况
另一种是枚举全排列。每一次确定当前的选择,则标记,这样下一次的选择就减少了一个。...
分类:
其他好文 时间:
2015-01-28 09:48:16
阅读次数:
173
Problem I
23 Out of 5
Input: standard input
Output: standard output
Time Limit: 1 second
Memory Limit: 32 MB
Your task is to write a program that can decide whether you can find an arithmetic ex...
分类:
其他好文 时间:
2015-01-26 17:07:04
阅读次数:
183
How Big Is It?
Ian's going to California, and he has to pack his things, including his collection of circles. Given a set of circles, your program must find the smallest rectangular box in...
分类:
其他好文 时间:
2015-01-26 17:05:21
阅读次数:
265
hdu 5113 Black And White (dfs回溯+剪枝)—— black 的专栏 —— waShaXiu...
分类:
其他好文 时间:
2015-01-23 23:05:18
阅读次数:
229
题目大意:给你一个N个点的图,M条双向边,从原点1出发,两个方向各走
一遍,最后回到原点。输出整个路径。从1开始,到1结束。共2*M+1行。
思路:DFS遍历,vis数组标记已遍历的边。最重要的地方是在哪里保存路径。
因为DFS函数的结束顺序就是点的回溯顺序,所以应该在DFS回溯完之后再
记录当前点的序号,也就是now的值。...
分类:
其他好文 时间:
2014-12-23 09:04:18
阅读次数:
183
#include
using namespace std;
char maze[100][100];
bool flag[100][100];
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
int m,n;
int sum=0;
void dfs(int x,int y)
{
if(maze[x][y]=='T'){sum++;return ;}
fo...
分类:
其他好文 时间:
2014-12-12 13:20:53
阅读次数:
255
问题描述:
一天,小明不小心进入了一个迷宫,现在请你帮助他判断能否出走出迷宫,如果可能,则输出YES. 如果不能走到出口,则输出NO. 每次走只能是上下左右4个方向.
*表示可走
#表示障碍
T表示出口
入口是(1,1),数据保证左上角是入口
#include
using namespace std;
char maze[100][100];
bool flag[100][10...
分类:
其他好文 时间:
2014-12-12 10:18:53
阅读次数:
166
题意 有一个无向图 对于其所有顶点的一个排列 称一顶点与所有与其有边的其它顶点在排列中下标差的最大值为这个顶点的带宽 而所有顶点带宽的最大值为这个排列的带宽 求这个图带宽最小的排列
枚举排列 ans记录当前找到的最小带宽 枚举过程中一旦出现带宽大于ans的也就不用再扩展了 这样枚举完就得到了答案
#include
#include
using namespace std;
c...
分类:
其他好文 时间:
2014-11-26 18:54:38
阅读次数:
238
【题目】
Given a 2D board and a word, find if the word exists in the grid.
The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or ...
分类:
其他好文 时间:
2014-11-24 20:56:08
阅读次数:
177