随笔分类 - 深搜
1
摘要:#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e3+10, inf = 0x3f3f3f3f; int a[N], vis[N]; int n, ans; // 计算函数:根据运算符
阅读全文
摘要:解决思路 深度优先搜索 (DFS):使用 DFS 枚举所有可能的骰子点数组合。 剪枝:在 DFS 过程中,如果当前点数和已经超过 sum 或者剩余骰子无法达到 sum,则剪枝。 字典序输出:由于 DFS 的递归顺序,天然保证了字典序输出。 #include<bits/stdc++.h> #defin
阅读全文
摘要:记忆步骤:1.全局变量应该有木棍数组a和标记数组vis主函数:1.最小木棍长度len,标记是否有答案变量f2.输入,并记录木棍的最大值maxx和全部长度sum3.从大到小排序4.遍历len从maxx到sum,如果sum刚好是len的倍数,那么证明有复原方案,进行深搜dfs函数:1.dfs(已经使用的
阅读全文
摘要:#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e3+10,inf = 0x3f3f3f3f; char A[N],B[N],C[N]; char words[N]; int cnt;
阅读全文
摘要:思路 题目大意是:把一棵树按深度分层,每一层断掉一条边,是剩下的节点数最小。 其实,我们可以将问题转换为断掉的节点数最多。 首先,贪心不可行,很容易被卡。 因为数据只有300,直接搜索就行。 搜索时一层一层搜,枚举断掉哪条边,并标记后代。 #include<bits/stdc++.h> using
阅读全文
摘要:描述 寒假在家里无聊极了,小w看到地上的瓷砖,想出了一个游戏。这个游戏是这样子的,一共有n个格子,刚开始在起点的时候可以跳到第1个到第k个格子中的一个上面,之后在每个格子上只能向前跳相对应的长度。请问至少需要多少步可以恰好跳到最后一个格子呢? 输入 第一行输入两个整数n和k(1<=n<=100000
阅读全文
摘要:7631: 无人机翱翔 2799: Counting Sheep #include<bits/stdc++.h> using namespace std; char a[151][151]; int vis[151][151]; int nex[8][2] = {{0,1},{1,0},{0,-1}
阅读全文
摘要:描述 给定一个n*m的地图,每个方格可以取: (1)“*”:表示一个景点; (2)“#”: 表示墙壁,不可经过; (3)“.”: 表示通道,可以经过; 现在你从左上角(0, 0)出发,需要走遍每个景点,且回到起点,问最少需要几步。 输入 第一行为n和m,表示地图的行数和列数(1<=n, m<=10)
阅读全文
摘要:部分和问题 #include<bits/stdc++.h> #include<iostream> using namespace std; int k,n,m,num,vis[1042],dt[1000],f; void dfs(){ if(f==1)return; if(num==k){ f=1;
阅读全文
摘要:描述 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每个黑色格子能通过四连通的走法(上下左右),只走黑色格子,到达该联通块中的其它黑色格子。 输入 第一行两个整数n,m(
阅读全文
摘要:描述 500年前,Jesse是我国最卓越的剑客。他英俊潇洒,而且机智过人^_^。 突然有一天,Jesse心爱的公主被魔王困在了一个巨大的迷宫中。Jesse听说这个消息已经是两天以后了,他急忙赶到迷宫,开始到处寻找公主的下落。 请你判断他是否能救出心爱的公主。(假设有路可以通到公主那就可以找到公主)。
阅读全文
摘要:描述 有一个迷宫,图案如图5.2.6所示,红色区域表示不能通行,蓝色区域表示能通行,在迷宫中通行的方向是上下左右四个方向。 从入口(1,1)位置进入迷宫,编程判断能否从出口位置成功走出。 迷宫图案中的通行区域用数字表示:1是可以通行的点,0是不能通行的点。 输入 输入为一10*10的01图像。 输出
阅读全文
摘要:描述 奶牛以非传统的方式玩孩子的跳房子游戏。奶牛不是要跳入一组线性编号的框,而是创建一个平行于 x 和 y 轴的 5x5 直线数字网格。然后他们熟练地跳到网格中的任何数字上,并向前、向后、向右或向左(从不斜向)跳到网格中的另一个数字。他们再次(相同的规则)跳到一个数字(可能是一个已经访问过的数字)。
阅读全文
摘要:描述 江南校区的队员们准备参加无人机比赛了,为了庆祝出征,LZS想给大家弄一场表演,CJ给大家布置了一个N*M的矩阵场地,队员们可以操控无人机飞到坐标(i,j)(1<=i<=N,1<=j<=M)的位置。 对于每一个位置坐标(i,j),它有可能是空的,也有可能有一架无人机,且这个位置相邻的位置有左边、
阅读全文
摘要:描述 英雄联盟里的流浪法师瑞兹有一个技能叫做法术涌动,法术涌动会发射一团法球对命中的目标添加涌动效果并扩散至附近的敌人,该效果会持续4秒;如果试图施加涌动效果至一名已有涌动效果的敌人,那么该效果会进一步扩散(我们假设涌动是瞬间完成不计算时间),并且之前的涌动效果会刷新继续存在4秒。 现在给你一个n*
阅读全文
摘要:描述 一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,
阅读全文
摘要:描述 由于最近的降雨,在 Farmer John 的田地的各个地方积水,由 N x M (1 <= N <= 100; 1 <= M <= 100) 正方形组成的矩形表示。每个方格包含水('W')或旱地('.')。农夫约翰想弄清楚他的田地里形成了多少池塘。池塘是一组相连的正方形,里面有水,其中一个正
阅读全文
摘要:描述 使用每个数字 1, 2, 3,...,D1 恰好一次来形成 D1 数字,有多少可以被 D2 整除。 输入 输入数据将包含多个案例。每个案例将包含两个整数,D1 和 D2。D1 将代表唯一数字的数量(从 1 开始),这将形成数字。3 <= D1 <= 9。D2 代表除数。2 <= D2 <= 5
阅读全文
1