![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dfs
努力写题的tyf
这个作者很懒,什么都没留下…
展开
-
N皇后问题 - dfs
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input1850Sa...原创 2018-03-03 22:08:46 · 140 阅读 · 0 评论 -
poj3233 - Matrix Power Series - 矩阵快速幂+二分
Matrix Power SeriesTime Limit: 3000MS Memory Limit: 131072K Total Submissions: 31411 Accepted: 12658 DescriptionGiven a n × n matrix A and a positive integer k, find the sum S ...原创 2019-08-14 20:48:34 · 151 阅读 · 0 评论 -
1280:【例9.24】滑雪 - dfs(记忆化搜索)
1280:【例9.24】滑雪时间限制: 1000 ms 内存限制: 65536 KB提交数: 1665 通过数: 845【题目描述】小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小明滑到坡底,不得不再次走上坡或等着直升机来载他,小明想知道在一个区域中最长的滑坡。滑坡的长度由滑过点的个数来计算,区域由一个二维数组给出,数组的每个数...原创 2019-05-16 22:30:10 · 1123 阅读 · 0 评论 -
L3-015 球队“食物链” - dfs+剪枝
L3-015 球队“食物链” (30 分)某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。联赛战罢,结果已经尘埃落定。此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链”,来说明联赛的精彩程度。“食物链”为一个1至N的排列{ T1 T2 ⋯ TN },满足:球队T1战胜过球队T2,球队T...原创 2019-03-24 21:29:59 · 172 阅读 · 0 评论 -
全排列的三种方法(递归)
把abc全排列方法 一:可以看做a为前缀,bc全排列,(a与b交换)b为前缀,ac全排列,(a与c交换)c为前缀,ba全排列在递归的时候bc全排列可看成,b为前缀,c全排列,c为前缀b全排列。特点:明显的看出这样排列的结果不是从小到大的。代码://数组存到a[0]-a[n-1],调用perm(0,n)void perm(int b,int e){ if(b==n...原创 2019-02-23 10:06:36 · 2560 阅读 · 0 评论 -
递归小结
思路 :用递归的方法,判断到an的时候有两种情况(1){an}是k个集合中的一个,那么这时候的情况等于s(n-1,k-1)(2){an}不是k个集合中的一个,也就是说an和别的物品一起放在一个盒子,此时等于有k个盒子n-1个物品的情况,再把an放到k个盒子里的一个:k*s(n-1,k)考虑边界情况:(1)若k==0,return 0(2)若n<k,return 0...原创 2018-12-17 10:25:03 · 144 阅读 · 0 评论 -
Tree and Permutation - hdu6446 - 前向星+找规律+dfs
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=6446思路:我们很容易能发现,全排列有n!种,其中任意两点i到j会走(n-1)!次,那么我们以任意边为例,当该边一侧有x个点,那另一侧有n-x个点,那么把边左右两点两两结成一对,就有(n-x)*x对,每一对点走(n-1)!次,那么对于一条边走过的次数,就有sum=2*(n-x)*x*(n-1)!...原创 2018-08-28 22:04:43 · 106 阅读 · 0 评论 -
牛客小白月赛6 - C桃花 - dfs
链接:https://www.nowcoder.com/acm/contest/136/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述 桃花一簇开无主,可爱深红映浅红。 —...原创 2018-08-26 14:57:21 · 169 阅读 · 4 评论 -
Hopscotch - poj3050 - dfs
HopscotchTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 5435 Accepted: 3577 DescriptionThe cows play the child's game of hopscotch in a non-traditional way. Instead...原创 2018-07-30 21:15:57 · 247 阅读 · 0 评论 -
Red and Black - poj1979
题目意思: 一个房间上有红色的瓦和黑色的瓦片,给出红瓦和黑瓦的位置和人所占的位置,求人最多能走过多少片瓦? (条件为:人行走过程中只能走黑瓦,且人的初始位置为黑瓦) 输入描述:输入的字符里面只有三种字符: “@”—–表示人(只能有一个该字符) “.”—–表示黑瓦 “#”—–表示红瓦 #include<ios...原创 2018-07-20 19:48:55 · 130 阅读 · 2 评论 -
Lake Counting - poj2386
求水洼个数思路是:便利园子里的所有水洼,从第一个‘W’开始dfs,把能到达的‘W’都变成‘*’,然后从下一个‘W’开始,几次dfs就有几个水洼。#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,m;int dx[8]={-1,-1,-1...原创 2018-07-20 19:41:57 · 99 阅读 · 0 评论 -
部分和问题 - dfs
给定整数a1,a2…an,判断是否可以从中选出若干数,使它们的和恰好为k。#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,a[100],k;int dfs(int i,int sum){ if(i==n)return sum==...原创 2018-07-20 19:35:56 · 190 阅读 · 1 评论 -
Curling 2.0 - poj3009 - dfs
Curling 2.0Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25824 Accepted: 10361 DescriptionOn Planet MM-21, after their Olympic games this year, curling is getting ...原创 2018-07-28 16:12:11 · 169 阅读 · 1 评论 -
nyoj1237 - 最大岛屿 - dfs
最大岛屿时间限制:1000 ms | 内存限制:65535 KB难度:2描述神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王。 这是一个由海洋、岛屿和海盗组成的危险世界。面对危险重重的海洋与诡谲的对手,如何凭借智慧与运气,建立起一个强大的海盗帝国。杰克船长手头有一张整个海域的海图...原创 2018-05-14 21:54:28 · 153 阅读 · 0 评论 -
八皇后问题 - 洛谷P1219
题目描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是跳棋放置的一个解。请编一个程序找出所有跳棋放置的解。并把它们以上面的序列方法输出...原创 2018-05-13 20:56:15 · 329 阅读 · 0 评论 -
nyoj - 1276机器设备
机器设备时间限制:1000 ms | 内存限制:65535 KB难度:2描述Alpha 公司设计出一种节能的机器设备。它的内部结构是由 N 个齿轮组成。整个机器设备有 一个驱动齿轮,当启动它时,它立即按 10,000 圈/小时转速顺时针转动,然后它又带动与它相切 的齿轮反方向,即逆时针转动。齿轮之间互相作用,每个齿轮都可能驱动着多个齿轮,最终带动 一个工作齿轮完成相应的任务。 在这套设备中,记...原创 2018-05-06 19:05:40 · 137 阅读 · 0 评论 -
深搜题
洛谷P1219 - 八皇后我的思路是,按行顺序来放到列上,所以行不会重复,同时放到列上时,判断该列有没有占用,所以列不会重复,那么这个题,关键点就是处理对角线,可以发现,选择了一个点(x,y),那么他的两条对角线上的点都不能选了,发现这两条对角线上的点(x1,y1)分别满足x1+y1=x+y 和 x1-y1=x-y那么在判断交叉线是用两个数组,一个记录x+y值占用过没,另一个记录x-y+n...原创 2019-09-03 22:12:49 · 185 阅读 · 0 评论