//Accepted    212 KB    16 ms
 //筛素数+bfs
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 #include <queue>
 using namespace std;
 ;
 ;
 bool pri[imax_n];
 bool vis[imax_n];
 void prime()
 {
     ;i<imax_n;i++)
     {
         for (int j=i*i;j<imax_n;j+=i)
         {
             pri[j]=;
         }
     }
     pri[]=pri[]=;
 }
 queue<int > q,step;
 int ans;
 void bfs(int s,int e)
 {
     while (!q.empty()) q.pop();
     while (!step.empty()) step.pop();
     memset(vis,false,sizeof(vis));
     ans=inf;
     q.push(s);
     vis[s]=true;
     step.push();
     while (!q.empty())
     {
         int x=q.front();
         q.pop();
         int temp_step=step.front();
         step.pop();
         if (x==e)
         {
             ans=temp_step;
             return ;
         }
         ;
         ;i<=;i++)
         {
             ;
              && !vis[nx])
             {
                 q.push(nx);
                 step.push(temp_step+);
                 vis[nx]=true;
             }
         }
         t=(x%)%+x/*;
         ;i<=;i++)
         {
             ;
              && !vis[nx])
             {
                 q.push(nx);
                 step.push(temp_step+);
                 vis[nx]=true;
             }
         }
         t=x/*+x%%;
         ;i<=;i++)
         {
             ;
              && !vis[nx])
             {
                 q.push(nx);
                 step.push(temp_step+);
                 vis[nx]=true;
             }
         }
         t=x/*;
         ;i<=;i+=)
         {
             int nx=t+i;
              && !vis[nx])
             {
                 q.push(nx);
                 step.push(temp_step+);
                 vis[nx]=true;
             }
         }
     }
 }
 int main()
 {
     prime();
     int T;
     scanf("%d",&T);
     while (T--)
     {
         int a,b;
         scanf("%d%d",&a,&b);
         bfs(a,b);
         if (ans==inf)
         printf("Impossible\n");
         else
         printf("%d\n",ans);
     }
     ;
 }

poj3126 筛素数+bfs的更多相关文章

  1. Prime Path素数筛与BFS动态规划

    埃拉托斯特尼筛法(sieve of Eratosthenes ) 是古希腊数学家埃拉托斯特尼发明的计算素数的方法.对于求解不大于n的所有素数,我们先找出sqrt(n)内的所有素数p1到pk,其中k = ...

  2. Prime Path(POJ - 3126)【BFS+筛素数】

    Prime Path(POJ - 3126) 题目链接 算法 BFS+筛素数打表 1.题目主要就是给定你两个四位数的质数a,b,让你计算从a变到b共最小需要多少步.要求每次只能变1位,并且变1位后仍然 ...

  3. 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数

    1.gcd int gcd(int a,int b){ return b?gcd(b,a%b):a; } 2.扩展gcd )extend great common divisor ll exgcd(l ...

  4. CF449C Jzzhu and Apples (筛素数 数论?

    Codeforces Round #257 (Div. 1) C Codeforces Round #257 (Div. 1) E CF450E C. Jzzhu and Apples time li ...

  5. 洛谷P3383 【模板】线性筛素数

    P3383 [模板]线性筛素数 256通过 579提交 题目提供者HansBug 标签 难度普及- 提交  讨论  题解 最新讨论 Too many or Too few lines 样例解释有问题 ...

  6. 洛谷 P3383 【模板】线性筛素数

    P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...

  7. POJ2689-Prime Distance-区间筛素数

    最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  8. 线性筛素数和理解 洛谷P3383

    题目链接:https://www.luogu.org/problemnew/show/P3383 线性筛法筛素数的特点是每一个数字只被遍历一次,即时间复杂度为O(n),所以说他是线性的,并且所有的非素 ...

  9. ACM-ICPC 2018 南京赛区网络预赛 J题Sum(线性筛素数)

    题目链接:https://nanti.jisuanke.com/t/30999 参考自博客:https://kuangbin.github.io/2018/09/01/2018-ACM-ICPC-Na ...

随机推荐

  1. 打不开chm文件解决办法

    打不开chm文件解决办法.bat regsvr32 itss.dll /sregsvr32 hhctrl.ocx /s

  2. 在腾讯云上创建您的SQL Cluster(3)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/250 来源:腾云阁 https://www.qclo ...

  3. Mongos与集群均衡

    版权声明:本文由孔德雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/190 来源:腾云阁 https://www.qclo ...

  4. 学习ASP.NET之前,先了解它

    ASP.NET是一个使用HTML,CSS,JavaScript和服务器脚本构建的网页和网站的开发框架,不是一门编程语言. ASP.NET支持三种不同的开发模式:Web Pages(Web页面),MVC ...

  5. jsonp跨域原理

    Jsonp原理: 首先在客户端注册一个callback (如:'jsoncallback'), 然后把callback的名字(如:jsonp1236827957501)传给服务器.注意:服务端得到ca ...

  6. java复用和传参

    java复用和传参的三种方法总结: (1) 直接在一个类中调用函数 : 1 package test1; 2 3 public class a 4 { 5 public static void get ...

  7. mac svn

    开启svn服务:sudo svnserve -d -r /Users/fuyi/svnserver/mycode/

  8. Qt Charts

    简述 Qt Charts模块提供了一套易于使用的图表组件.它采用了Qt Graphics View框架,因此图表可以很容易地集成到现代的用户界面. Qt Charts可以被用作QWidgets.QGr ...

  9. (18)odoo规范

    * 约定    # 命名会用  蛇形式或驼峰式        todo_task_stage 蛇形式        class TodoTask 驼峰式      变量名还是蛇形居多, 类名和方法名驼 ...

  10. uva--1339 - Ancient Cipher(模拟水体系列)

    1339 - Ancient Cipher Ancient Roman empire had a strong government system with various departments, ...