#include"cstdio"
#include"queue"
#include"cstring"
using namespace std;
const int MAXN=;
typedef pair<int,int> P;
int vis[MAXN];
int s,e;
bool prime(int x)
{
for(int i=;i*i<=x;i++)
{
if(x%i==)
{
return false;
}
}
return true;
} void bfs()
{
queue<P> que;
que.push(P(,s));
vis[s]=;
while(!que.empty())
{
P now = que.front();que.pop();
if(now.second==e)
{
printf("%d\n",now.first);
return ;
} int p=now.second%;
int pp=(now.second%)/;
for(int i=;i<=;i+=) //枚举个位
{
int next=(now.second/)*+i;
if(!vis[next]&&next!=now.second&&prime(next))
{
vis[next]=;
que.push(P(now.first+,next));
}
} for(int i=;i<=;i++) //枚举十位
{
int next=(now.second/)*+i*+p;
if(!vis[next]&&next!=now.second&&prime(next))
{
vis[next]=;
que.push(P(now.first+,next));
} } for(int i=;i<=;i++) //枚举百位
{
int next=(now.second/)*+i*+pp*+p;
if(!vis[next]&&next!=now.second&&prime(next))
{
vis[next]=;
que.push(P(now.first+,next));
}
} for(int i=;i<=;i++) //枚举千位
{
int next=i*+now.second%;
if(!vis[next]&&next!=now.second&&prime(next))
{
vis[next]=;
que.push(P(now.first+,next));
}
}
}
printf("Impossible\n");
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&s,&e);
memset(vis,,sizeof(vis));
bfs();
}
return ;
}

POJ3126Prime Path(BFS)的更多相关文章

  1. POJ-3126-Prime Path(BFS)

    Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 27852   Accepted: 15204 Desc ...

  2. poj3126Prime Path (BFS+素数筛)

    素数筛:需要一个数组进行标记 最小的素数2,所有是2的倍数的数都是合数,对合数进行标记,然后找大于2的第一个非标记的数(肯定是素数),将其倍数进行标记,如此反复,若是找n以内的所有素数,只需要对[2, ...

  3. POJ2126——Prime Path(BFS)

    Prime Path DescriptionThe ministers of the cabinet were quite upset by the message from the Chief of ...

  4. POJ3126 Prime Path (bfs+素数判断)

    POJ3126 Prime Path 一开始想通过终点值双向查找,从最高位开始依次递减或递增,每次找到最接近终点值的素数,后来发现这样找,即使找到,也可能不是最短路径, 而且代码实现起来特别麻烦,后来 ...

  5. [HDU 1973]--Prime Path(BFS,素数表)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1973 Prime Path Time Limit: 5000/1000 MS (Java/Others ...

  6. POJ 3126 Prime Path(BFS 数字处理)

    意甲冠军  给你两个4位质数a, b  每次你可以改变a个位数,但仍然需要素数的变化  乞讨a有多少次的能力,至少修改成b 基础的bfs  注意数的处理即可了  出队一个数  然后入队全部能够由这个素 ...

  7. poj 3126 Prime Path bfs

    题目链接:http://poj.org/problem?id=3126 Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  8. poj3126--Prime Path(广搜)

    Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11751   Accepted: 6673 Descr ...

  9. codeforces 1072D Minimum path bfs+剪枝 好题

    题目传送门 题目大意: 给出一幅n*n的字符,从1,1位置走到n,n,会得到一个字符串,你有k次机会改变某一个字符(变成a),求字典序最小的路径. 题解: (先吐槽一句,cf 标签是dfs题????) ...

随机推荐

  1. iOS11 push控制器tabbar上移问题

    解决方法 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { // 如果有大 ...

  2. vue 计算属性和监听器

    一.计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div> {{ message.split('').rev ...

  3. The given 'driver' ] is unknown, Doctrine currently supports only the follo wing drivers: pdo_mysql, pdo_sqlite, pdo_pgsql, pdo_oci, oci8, ibm_db2, pdo

    [Doctrine\DBAL\DBALException]                                                  The given 'driver' ] ...

  4. 【转载】Spring介绍之二

    Spring框架,是进行对象管理,对象关联,解耦的一个中间层框架.SSH(Struts+Spring+Hibernate)三大Spring在中间就起着一个承上启下的作用.好,首先我们先来看一下Spri ...

  5. 如何写PHP规范注释

    所有的文档标记都是在每一行的 * 后面以@开头.如果在一段话的中间出来@的标记,这个标记将会被当做普通内容而被忽略掉. @access        该标记用于指明关键字的存取权限:private.p ...

  6. 每天一个Linux命令(27)gzip命令

    zip命令用来压缩文件.gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名.     (1)用法:     用法:  gzip [选项参数][-s <压缩字尾字符 ...

  7. Redis的管理

    一.redis持久化 redis是内存数据库,一切的数据都是存储到内存中的,我们知道,当服务器意外关机,那么在内存中的数据都将丢失,但是redis为我们提供持久化功能,这样就能把数据保存到硬盘上.re ...

  8. css3条纹边框效果

    在线演示 本地下载

  9. Eclipse安装Propedit插件、SVN插件、js插件

    1.在线安装Propedit 打开Eclipse的在线安装界面,点击Add Name: propedit Location:http://propedit.sourceforge.jp/eclipse ...

  10. BZOJ 1562 [NOI2009]变换序列:二分图匹配

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1562 题意: 给定n,定义D(x,y) =  min(|x-y|, n-|x-y|),然后 ...