dfs
K3_14
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Square HDU - 1518 POJ - 2362
dfs题意:给一堆不同长度的边,问是否可以组成正方形,所有边都要用上#include #include #include using namespace std;int n,m,sum;int a[25];bool book[25],f,ff;void dfs(int b,int l,int k) { //l表示在第b条边目前积累的长度,k表示在第b条边目前进行排查到原创 2017-03-07 11:08:35 · 376 阅读 · 0 评论 -
蓝桥 数独
你一定听说过“数独”游戏。如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。数独的答案都是唯一的,所以,多个解也称为无解。本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。本题的要求就是输入数独题目,程序原创 2017-04-04 16:23:15 · 424 阅读 · 0 评论 -
蓝桥 生命之树
在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和尽原创 2017-04-04 15:42:51 · 374 阅读 · 0 评论 -
蓝桥 历届试题 地宫取宝
记忆化dfs#include #include #include using namespace std;int n,m,k;int mp[55][55];long long int vis[55][55][15][15];const int inf=1000000007;int dfs(int x,int y,int st,int maxn) { long long s=0原创 2017-04-04 13:32:46 · 458 阅读 · 0 评论 -
蓝桥 振兴中华
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)从我做起振 1 2 3 4 5我做起振兴 2 3 4 5 6做起振兴中 3 4 5 6 7起振兴中华 4 5 6 7 8 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻原创 2017-04-04 07:59:32 · 374 阅读 · 0 评论 -
蓝桥 剪邮票
如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。116#incl原创 2017-04-04 06:32:43 · 642 阅读 · 0 评论 -
蓝桥 方格填数
如下的10个格子填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。1580#include #include using namespace std;int a[12]={-2,0,1,2,3,4,5,6原创 2017-04-03 14:41:33 · 412 阅读 · 0 评论 -
蓝桥 特殊排列
今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:17126425374635当然,如果把它倒过来,也是符合要求的。请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。注意:只填写这个14位的整数,不能填写任何多余的内原创 2017-04-03 14:01:28 · 307 阅读 · 0 评论 -
部分和问题
#include #include using namespace std;int a[25];int n,k;bool dfs(int x,int s) { //前x项,和s if (x==n) return s==k; //*** if (dfs(x+1,s)) return true; if (dfs(x+1,s+a[x])) return true; ret原创 2017-03-31 20:31:58 · 275 阅读 · 0 评论 -
蓝桥 滑动解锁
滑动解锁是智能手机一项常用的功能。你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点。这些划过的点所组成的有向折线,如果与预设的折线在图案、方向上都一致,那么手机将解锁。所谓两个点“相邻”:当且仅当以这两个点为端点的线段上不存在尚未经过的点。此外,许多手机都约定:这条折线还需要至少经过4个点。为了描述方便,我们给这9个点从上到下、从左原创 2017-04-07 00:16:51 · 746 阅读 · 0 评论 -
Backward Digit Sums POJ - 3187
题意:1~n,求怎样做到倒三角形方法加和为输入m的字典序最小的排列应该是一道dfs,但我不是这么写的,下次用dfs写试试原创 2017-03-11 22:50:37 · 308 阅读 · 0 评论 -
Hopscotch POJ - 3050
给出一个5*5的数组,问能组成多少个不重复的六位组合参考别人的博客得出的思路,利用stl中set的去重性#include #include #include #include using namespace std;int mp[10][10];int tx[4]={0,1,0,-1};int ty[4]={1,0,-1,0};string ss;set s; void原创 2017-03-11 19:52:45 · 314 阅读 · 0 评论 -
Lake Counting POJ - 2386
简单dfs求有几块水#include #include using namespace std;int n,m,num;char mp[110][110];void dfs(int x,int y) { if (x=n || y>=m) return; if (mp[x][y]=='.') return; mp[x][y]='.'; for (int dx=-1;dx<=原创 2017-03-11 18:57:10 · 335 阅读 · 0 评论 -
Red and Black POJ - 1979
普通dfs,求从起点开始,'.'一共连通的有多少个,行走范围上下左右把从起点开始走过的变为'#'#include #include using namespace std;int w,h,sx,sy,sum;char mp[25][25];void dfs(int x,int y) { if (x=h || y>=w) return; if (mp[x][y]=='#') r原创 2017-03-11 08:48:51 · 361 阅读 · 0 评论 -
蓝桥 四平方和
四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 并对所有的原创 2017-04-06 10:34:58 · 410 阅读 · 0 评论
分享