Poj(2488),按照字典序深搜】的更多相关文章

题目链接:http://poj.org/problem?id=2488 思路:按照一定的字典序深搜,当时我的想法是把所有的可行的路径都找出来,然后字典序排序. 后来,凡哥说可以在搜索路径的时候就按照字典序搜索,这样一找到可行的路径就输出来就行了.这里我吸取了之前八皇后问题时犯的错,并且优化了一下写法,就是flag,这是参考了jhf大神的写法了. 但是jhf大神的写法,思路和我一样,但是他的x,y坐标还要转来转去,我就没有这么写了,还是按照我的代码风格好一些. #include <stdio.h>…
/* (⊙v⊙)嗯 貌似是一个建图 拓扑+深搜的过程.至于为什么要深搜嘛..一个月前敲得题现在全部推了重敲,于是明白了.因为题意要求如果有多个可能的解的话. * 就要输出字典序最小的那个.所以可以对26个英文字母从小到大尝试能否排出结果.于是出现了 深搜回溯.先选定入度为0的边框.标记为已用.将所有与它连通的 * 边框入度减一.然后递归搜索下一个.此时开始回溯.当前边框标记为未用,所有与它连通的边框入度加1. * 建图的过程则是.对每一个字母的边框测量出来.然后对A里的其它字母B.(B 覆盖 A…
迷宫问题 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. Input 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. Output 左上角到右下角的最短路径,格式如样例所…
Sudoku Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total Submission(s) : 15   Accepted Submission(s) : 12 Special Judge Problem Description Sudoku is a very simple task. A square table with 9 rows and 9 columns i…
数独 #include "cstdio" #include "cstring" #include "cstdlib" #include "iostream" using namespace std; #include <cstdio> ][],map[][];///v存储需要填的位置 bool finished; bool judge(int x,int y,int k) { int i,j,it,jt; ; i&…
A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 35342   Accepted: 12051 Description Background  The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey …
POJ 2676 Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17627   Accepted: 8538   Special Judge Description Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the…
http://poj.org/problem?id=3249 Test for Job Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 8206   Accepted: 1831 Description Mr.Dog was fired by his company. In order to support his family, he must find a new job as soon as possible. No…
链接: http://poj.org/problem?id=1564 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88230#problem/F 给了一个数 m,给一个由 n 个数组成的数组 a[] , 求和为 m 的 a[] 的子集 pos 代表的是搜到第 pos 个元素,ans 代表的是 b[] 数组中存的第 ans 个数 我一定要学会深搜!!! 代码: #include <cstdio> #include <cstri…
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=85 http://poj.org/problem?id=1130 这两个题只有输入输出形式不一样.ZOJ的麻烦一点,这里用的ZOJ的输入输出方式 解题报告: 1.输入方式sscanf(line,"%d%d",&a,&b);表示在文本line中提取两个整形数据到a,b中 2.从外星人的角度来看,就是搜索单源最短路径,采用的方式是广搜. 3.删…