// 百度空间太 2B 了。一点儿都不好用,垃圾。
// 非 STL 版。
// (C++) AC 916K 16MS (C:编译错误)
// (G++ / Gcc) AC 1104K 16MS
#include <stdio.h>
int main() {
int visited[100001] = {0};
int queue[100001] = {0};
int qBegin = 0, qEnd = 0;
int N, K;
scanf("%d %d", &N, &K);
if (N == K) {
puts("0");
return 0;
}
visited[N] = 1;
queue[qEnd++] = N;
for (int i = 1; N != K; ++i) { //
int layer = qEnd;
while (qBegin < layer) {
N = queue[qBegin++];
if (N > 0 && !visited[N - 1]) {
visited[N - 1] = 1;
if (N - 1 == K) { printf("%d\n", i); return 0; }
queue[qEnd++] = N - 1;
}
if (N < 100000 && !visited[N + 1]) {
visited[N + 1] = 1;
if (N + 1 == K) { printf("%d\n", i); return 0; }
queue[qEnd++] = N + 1;
}
if (2 * N <= 100000 && !visited[2 * N]) {
visited[2 * N] = 1;
if (2 * N == K) { printf("%d\n", i); return 0; }
queue[qEnd++] = 2 * N;
}
}
}
return 0;
}
相关推荐
【标题】"POJ3278-Catch That Cow" 是一个编程竞赛题目,源自北京大学的在线判题系统POJ(PKU Online Judge)。这个题目挑战程序员解决一个具体的问题,通常涉及算法设计和实现。 【描述】"北大POJ3278-Catch That ...
* 广度优先搜索:广度优先搜索是指解决问题的广度优先搜索算法,如 poj3278、poj1426、poj3126、poj3087、poj3414。 * 简单搜索技巧和剪枝:简单搜索技巧和剪枝是指解决问题的简单搜索技巧和剪枝算法,如 poj2531、...
* 广度优先搜索:例如 poj3278、poj1426、poj3126、poj3087、poj3414。 * 简单搜索技巧和剪枝:例如 poj2531、poj1416、poj2676、poj1129。 5. 动态规划: * 背包问题:例如 poj1837、poj1276。 * 类型 DP:...
- 广度优先搜索:如`poj3278, poj1426`。 - **动态规划** - 背包问题:如`poj1837, poj1276`。 - 简单DP:如`poj3267, poj1836`。 - **数学** - 组合数学:如`POJ3252, poj1850`。 - 数论:如`poj2635, poj...
- **例题**:poj3278, poj1426, poj3126, poj3087, poj3414 - **解释**:复杂动态规划问题可能涉及多维状态转移、记忆化搜索等技巧。 #### 3. 状态压缩动态规划 - **例题**:poj2531, poj1416, poj2676, poj1129 - ...
DFS和BFS不仅是图算法的核心,也是解决许多搜索问题的基础,如poj2488和poj3278所示。 #### 剪枝技术 在搜索过程中去除无效或低效的搜索路径,提高搜索效率,如poj2531和poj1416。 ### 五、动态规划 #### 背包...
如poj3278、poj2049、poj3083是图遍历的例子,poj1860、poj3259等则是最短路径问题,poj1789、poj2485等则涉及最小生成树。 3. **数据结构**:包括串、排序、简单并查集、哈希表、二分查找、哈夫曼树和堆。poj1035、...
- **广度优先搜索**:如poj3278,适用于寻找最短路径。 - **搜索技巧与剪枝**:优化搜索过程,避免无效计算,如poj2531。 5. **动态规划**: - **背包问题**:如poj1837,解决有限资源下的最优化问题。 - **...
- POJ 3278、POJ 1426:特殊搜索策略的应用。 - POJ 3126、POJ 3087:复杂搜索策略解决实际问题。 ### 动态规划 #### 一维动态规划 - **题目示例**: - POJ 1837、POJ 1276:基础动态规划问题。 #### 多维动态...
### ACM新手刷题攻略之POJ ... - 推荐题目:[poj3278](https://vjudge.net/problem/POJ-3278)、[poj1426](https://vjudge.net/problem/POJ-1426)、[poj3126](https://vjudge.net/problem/POJ-3126)、[poj3087]...
2. **组合数学**:如排列组合计算(poj3278, poj1426, poj3126, poj3087.poj3414)。 3. **矩阵运算**:矩阵乘法和矩阵快速幂(poj2531, poj1416, poj2676, 1129)。 ### 五、状态压缩 1. **状态压缩动态规划**:...
- poj3278 - poj1426 - poj3126 - poj3087 - poj3414 - **应用场景**:适用于寻找最短路径、连通性检测等问题。 **3. 搜索技巧和剪枝** - **定义**:通过优化搜索策略减少不必要的搜索空间。 - **示例题目**:...
2. **广度优先搜索(BFS)**:遍历图或树的宽度,如POJ3278、1426、3126、3087和3414。 3. **搜索技巧和剪枝**:提高搜索效率,避免无效计算,如POJ2531、1416、2676和1129。 ### 动态规划 1. **背包问题**:在有限...
- **示例题目**: poj3278, poj1426, poj3126, poj3087, poj3414 #### 4. 字符串搜索 - **内容**: 包括后缀树、AC自动机等字符串搜索算法。 - **示例题目**: poj2531, poj1416, poj2676, poj1129 ### 五、数学 ##...
在编程竞赛中,POJ 3278 农夫追牛问题是一个经典的算法题,它涉及到了数据结构和算法的应用,尤其是广度优先搜索(Breadth First Search, BFS)。题目描述了农夫约翰在一条数线上追赶一头位于特定位置的逃牛,他可以...
* 广度优先搜索:poj3278, poj1426, poj3126, poj3087, poj3414 * 简单搜索技巧和剪枝:poj2531, poj1416, poj2676, poj1129 五、动态规划 * 背包问题:poj1837, poj1276 * 类似表的简单 DP:poj3267, poj1836, ...
例如,POJ2488和POJ3083是深度优先搜索的经典例题,而POJ3278和POJ1426则是广度优先搜索的代表题。 动态规划部分涵盖了背包问题和简单DP两方面。例如,POJ1837和POJ1276是背包问题的典型例题,而POJ3267和POJ1836则...
(2) 广度优先搜索:poj3278, poj1426, poj3126, poj3087, poj3414 (3) 简单搜索技巧和剪枝:poj2531, poj1416, poj2676, 1129 五、动态规划 本部分涵盖了动态规划,包括背包问题、简单DP和其他DP问题。 (1) 背包...
搜索策略包括深度优先搜索(DFS)和广度优先搜索(BFS),如 poj2488 和 poj3278。搜索技巧和剪枝可以优化解决方案,如 poj2531 和 poj1416。 动态规划是解决复杂问题的关键,背包问题和特定类型的 DP 问题如 poj...