zoukankan      html  css  js  c++  java
  • 重做catch the cow

    1.思路果然清晰了,十分钟搞定


    #include <stdio.h>
    #include <queue>
    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    int n, k;
    queue <int> q;
    int step[100010];
    
    int bfs(int a)
    {
        if(a == k)
            return step[k];
        else
        {
            if(a - 1 >= 0 && step[a - 1] == 0)
            {
                step[a - 1] = step[a] + 1;
                q.push(a - 1);
            }
            if(a + 1 <= 100000 && step[a + 1] == 0)
            {
                step[a + 1] = step[a] + 1;
                q.push(a + 1);
            }
            if(a * 2 <= 100000 && step[a * 2] == 0)
            {
                step[a * 2] = step[a] + 1;
                q.push(a * 2);
            }
            int temp = q.front();
            q.pop();
            bfs(temp);
        }
    
    }
    
    int main()
    {
        while(scanf("%d%d", &n, &k) != EOF)
        {
            memset(step, 0, sizeof(step));
            bfs(n);
            cout << step[k] << endl;
        }
        return 0;
    }
    


  • 相关阅读:
    java面向对象小总结
    eclipce 快捷键
    linux中查找和过滤的用法:find,grep
    shell脚本
    条形码和二维码
    Json简介
    牛客练习
    输入流操作
    Java编码
    maven入门
  • 原文地址:https://www.cnblogs.com/dollarzhaole/p/3188963.html
Copyright © 2011-2022 走看看