zoukankan      html  css  js  c++  java
  • C

     1 //标准bfs
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <algorithm>
     5 #include <cmath>
     6 #include <queue>
     7 
     8 using namespace std;
     9 
    10 int dir[3] = { 1, -1 };
    11 
    12 struct node
    13 {
    14     int x, step;
    15 } s, ss;
    16 
    17 int bfs(int n, int k)
    18 {
    19     queue<node>q, qq;
    20     s.x = n;
    21     s.step = 0;
    22     int vis[100010] = { 0 };
    23     q.push(s);
    24     while (!q.empty())
    25     {
    26         s = q.front();
    27         q.pop();
    28         if (s.x == k)
    29             return s.step;
    30         for (int i = 0; i < 2; i++)
    31         {
    32             ss.x = s.x + dir[i];
    33             ss.step = s.step + 1;
    34             if (ss.x >= 0 && ss.x <= 100000)
    35             if (!vis[ss.x])
    36             {
    37                 vis[ss.x] = 1;
    38                 q.push(ss);
    39             }
    40         }
    41         ss.x = s.x * 2;
    42         ss.step = s.step + 1;
    43         if (ss.x >= 0 && ss.x <= 100000)
    44         {
    45             if (!vis[ss.x])
    46             {
    47                 vis[ss.x] = 1;
    48                 q.push(ss);
    49             }
    50         }
    51     }
    52     return 0;
    53 }
    54 
    55 int main()
    56 {
    57     int n, k;
    58     while (~scanf("%d%d", &n, &k))
    59     {
    60         printf("%d
    ", bfs(n, k));
    61     }
    62     return 0;
    63 }
  • 相关阅读:
    毕业设计
    毕业设计
    毕业设计
    毕业设计
    layui table
    毕业设计
    Echart图标统计
    Pxe自动化安装
    Linux运维常用脚本整理
    Zabbix 一键部署
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/8719095.html
Copyright © 2011-2022 走看看