![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS&&BFS
Calculus_a
小白的ACM之路
展开
-
UVA1374-Power Calculus(DFS剪枝)
Power Caculus 题意:给出一个n,求最少计算几步可以得到 。 枚举最大次数,然后DFS判断是否可行,将到达的地方储存在数组中乘除运算。注意最大计算都无法达到 n 和已经超过 n 时需要剪枝。 主要看代码,注释很详细。 // zyc 2018/7/23 #include <bits/stdc++.h> using namespace std; const...原创 2018-07-24 16:44:53 · 179 阅读 · 0 评论 -
kuangbin专题一 catch the cow (BFS)
BFS例题 注意:1. 超过100000时跳出 2. 如果到右边再回来,一定没有直接从左边过去划算 代码: // zyc 2018/8/20 #include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespace std; typ...原创 2018-09-03 21:00:57 · 658 阅读 · 0 评论 -
kuangbin专题一 Dungeon Master(BFS)
三维bfs,道理和二维是一样的 代码: // zyc 2018/8/20 #include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 7; char mp [100][100][100]; bool vis [100][100][100]; int fx [][3] = {0, 0, 1, 0, ...原创 2018-09-03 21:02:48 · 198 阅读 · 0 评论 -
kuangbin专题一 Find The Multiple(DFS)
找到一个只含有0和1的数可以整除 n 方法:每次搜索 *10 和 *10 + 1即可 代码: // zyc 2018/8/21 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5 + 7; int n; bool flag = false; //...原创 2018-09-03 21:05:29 · 137 阅读 · 0 评论 -
kuangbin专题一 Fliptile
开关灯问题,枚举第一行的情况,然后从第二行开始搜索。因为一个黑的要变成白的,需要正下方变化。最后枚举到最后一行,如果不是全黑的,则不成立。储存最小方案数组更新输出即可。 枚举第一行所有情况方法: for (int i = 0; i < (1 << n); i ++) { memset (tmp, 0, sizeof (tmp)); ...原创 2018-09-03 21:09:16 · 162 阅读 · 0 评论