随笔分类 -  DFS

摘要:题目链接 http://poj.org/problem?id=1011 题意 输入n根棍子的长度,将这n根棍子组合成若干根长度相同的棍子,求组合后的棍子的最小长度。这题是poj2362的加强版,思路与poj2362相同,只是在2362的基础上添加了剪枝操作,做这题之前先去做poj2362效果最好。 阅读全文
posted @ 2017-11-15 15:54 ColdCode 阅读(423) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=2362 题意 输入n根棍子的长度,求这n根棍子是否能组成一个正方形。 思路 假设能组成正方形,则正方形的周长为sum,sum/4为正方形的边长,问题转化为这n根棍子能否组成4根长度为side的棍子。由于棍子的长度越长,组合的灵活性就越差 阅读全文
posted @ 2017-11-15 11:26 ColdCode 阅读(451) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=1562 题意 输入一个m行n列的棋盘,棋盘上每个位置为'*'或者'@',求'@'的连通块有几个(连通为8连通,即上下左右,两条对角线)。 思路 floodfill问题,用dfs解决。 代码 阅读全文
posted @ 2017-11-13 22:19 ColdCode 阅读(164) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=1321 题意 给定一块棋盘(棋盘可能是不规则的),有k个相同棋子,将k个棋子摆放在棋盘上,使得任意两个棋子不同行,不同列,求有多少种不同的摆法。 思路 此题和八皇后问题很像,需要注意摆放完毕后要恢复现场,便于下一次摆放。 代码 阅读全文
posted @ 2017-11-13 21:51 ColdCode 阅读(157) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=1040 题意 城市A,B之间有m+1个火车站,第一站A站的编号为0,最后一站B站的编号为m,火车最多可以乘坐n人。火车票的票价为票上终点站的编号减去起点站的编号。输入火车票订单的数目orderNums,接着输入orderNums个订单, 阅读全文
posted @ 2017-11-12 14:45 ColdCode 阅读(462) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=2078 题意 输入一个n×n的矩阵,可以对矩阵的每行进行任意次的循环右移操作,行的每一次右移后,计算矩阵中每一列的和的最大值,输出这些最大值中的最小值。 思路 使用dfs解决,对于n×n的矩阵来说,行循环右移后,矩阵最多有n^n中可能的 阅读全文
posted @ 2017-11-11 17:08 ColdCode 阅读(524) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=1950 题意 输入一个整数n(3<=n<=15),将1,2,..n顺序排列,在数字中间插入'+','-','.',这样会产生一个算数表达式,如果表达式的值为0,则输出该表达式。如果表达式为0的个数大于20,则只输出前20个。 思路 采用 阅读全文
posted @ 2017-11-11 10:31 ColdCode 阅读(277) 评论(0) 推荐(0) 编辑
摘要:题目链接 http://poj.org/problem?id=1573 题意 一个机器人在给定的迷宫中行走,在迷宫中的特定位置只能按照特定的方向行走,有两种情况:①机器人按照方向序列走出迷宫,这时输出机器人走出迷宫的步数;②机器人在迷宫中陷入了循环,这种情况要输出机器人陷入循环前所走的步数以及循环的 阅读全文
posted @ 2017-11-10 21:29 ColdCode 阅读(211) 评论(0) 推荐(0) 编辑
摘要:题目链接 "http://poj.org/problem?id=1970" 思路 题目的意思是判断五子棋棋局是否有胜者,有的话输出胜者的棋子类型,并且输出五个棋子中最左上的棋子坐标;没有胜者输出0. 这道题目是floodfill延伸而来,使用dfs求解,但这道题比普通的floodfill题目又多了一 阅读全文
posted @ 2017-11-03 16:53 ColdCode 阅读(329) 评论(0) 推荐(0) 编辑
摘要:题目链接 "http://poj.org/problem?id=1979" 思路 floodfill问题,使用dfs解决 代码 java include include include using namespace std; const int N = 20; char maze[N][N]; i 阅读全文
posted @ 2017-11-03 11:09 ColdCode 阅读(144) 评论(0) 推荐(0) 编辑

AmazingCounters.com
点击右上角即可分享
微信分享提示