摘要: 第N道的廣搜,這幾天就準備做廣搜了...真的需要好好練習下...
Prime Path
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 187... 閱讀全文
學會了隊列.這道題的主要思想:
5先入列 把5出列 5 可以變成 4 ,6 , 10, ,把得到的數入列,然后再出列分別處理..如果前面出現過就不入列..定義一個計數數組,然后number[y - 1] = number[y] + 1; number[y + 1] = number[y] + 1; number[y * 2] = number[y] + 1;
Catch That Cow
5先入列 把5出列 5 可以變成 4 ,6 , 10, ,把得到的數入列,然后再出列分別處理..如果前面出現過就不入列..定義一個計數數組,然后number[y - 1] = number[y] + 1; number[y + 1] = number[y] + 1; number[y * 2] = number[y] + 1;
Catch That Cow
| Time Limit: 2000MS | Memory Limit: 65536K | |
| Total Submissions: 8341 | Accepted: 2476 |
Description
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting.
* Walking: FJ can move from any point X to the points X - 1 or X + 1 in a single minute
* Teleporting: FJ can move from any point X to the point 2 × X in a single minute.
If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input
Line 1: Two space-separated integers: N and K
Output
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
Sample Input
5 17
Sample Output
4
Hint
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.
摘要: 這題沒把我弄瘋了.一個小時寫完,改了2個小時...題目給的數據太弱了,需要自己寫一些數據來驗證...在這里給大家提供些數據題目
Maze
Time Limit: 2000MS
Memory Limit: 65536K
... 閱讀全文
Source Code
| Problem: 3278 | User: luoguangyao | |
| Memory: 1048K | Time: 110MS | |
| Language: C++ | Result: Accepted |
- Source Code
#include <iostream> #include <queue> using namespace::std; int number[100001] = {0}; bool num[100001] = {0}; int main() { queue<int> x; int a; int b; scanf("%d%d",&a,&b); int count = 0; number[a] = 0; x.push(a); while (x.size()) { int y = x.front(); x.pop(); num[y] = 1; if (y == b) { break; } else { if (y - 1 >= 0) { if (!num[y - 1]) { x.push(y - 1); number[y - 1] = number[y] + 1; num[y - 1] = 1; } } if (y + 1 <= 100000) { if (!num[y + 1]) { x.push(y + 1); number[y + 1] = number[y] + 1; num[y + 1] = 1; } } if (y * 2 <= 100000) { if (!num[y * 2]) { x.push(y * 2); number[y * 2] = number[y] + 1; num[y * 2] = 1; } } } } cout << number[b] << endl; return 0; }
| |||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
|---|---|---|---|---|---|---|---|---|---|
| 30 | 1 | 2 | 3 | 4 | 5 | 6 | |||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
| 28 | 29 | 30 | 31 | 1 | 2 | 3 | |||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
常用鏈接
留言簿(1)
隨筆檔案
搜索
最新評論

- 1.?re: POJ 3126 學會廣搜隊列的用法
- removed by cppexplore
- --cppexplore

