非常水的一道广搜题(专业刷水题)。

。。

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#define inf 1000000
using namespace std;
int d[4]={1,10,100,1000};
int vis[10000];
int prime[10000];
int q[inf];
int n1,n2;
void isprime()
{
memset(prime,1,sizeof prime);
for(int i=2;i<10000;i++){
if(prime[i]){
for(int j=i*i;j<10000;j+=i){
prime[j]=0;
}
}
}
} void bfs()
{
int front=0,rear=0;
memset(q,0,sizeof(q));
memset(vis,0,sizeof( vis));
vis[n1]=1;
q[rear++]=n1;
while(front<rear){
int cur=q[front++];
for(int i=0;i<4;i++){
int t[4];
t[3]=cur/1000,t[2]=cur/100%10,t[1]=cur/10%10,t[0]=cur%10; for(int j=0;j<=9;j++){
if(j==t[i]) continue;
if(i==3&&j==0) continue;
else{
int next=(cur-t[i]*d[i])+j*d[i];
if(prime[next]&&!vis[next]){
if(next==n2){
cout<<vis[cur]<<endl;return;
}
else{
vis[next]=vis[cur]+1;
q[rear++]=next;
} }
}
}
} }
cout<<"0"<<endl;
} int main()
{
isprime();
int T;
cin>>T;
while(T--){
cin>>n1>>n2;
bfs();
}
return 0;
}

最新文章

  1. Android笔记:蓝牙
  2. 罗永浩Vs王自如:浮躁的世界该如何降温?!
  3. C++中各种&lt;string,T&gt;关联方式的速度对比
  4. Xamarin.Forms 初探
  5. Spring整合Redis(spring-data-redis)
  6. Rational Rose2013安装及破解教程
  7. 痞子衡嵌入式:常用的数据差错控制技术(3)- 和校验(Checksum)
  8. Angular CLI: 全局脚本
  9. python学习 day018打卡 反射
  10. MongoDB 的安装以及使用
  11. 单机闭环 使用Nginx+Lua开发高性能Web应用
  12. Spring 利用PropertyPlaceholderConfigurer占位符
  13. C/C++ 头文件以及库的搜索路径
  14. 516.Longest Palindromic subsequence---dp
  15. CSS3中的变形与动画(一)
  16. keepalive安装和配置
  17. ArcSDE空间数据库中SDE用户使用探讨 (转载)
  18. 在Elasticsearch6.X中如何实现去重
  19. apk下载与安装
  20. Linux中的gpio口使用方法

热门文章

  1. bzoj 3172 单词
  2. [转]&quot;RDLC&quot;报表-参数传递及主从报表
  3. 数据连接类 这里采用mysql
  4. angularJS之ng-bind与{{}}取值的区别
  5. 【sqli-labs】 less20 POST - Cookie injections - Uagent field - Error based (POST型基于错误的cookie头部注入)
  6. HDU_1847_基础博弈sg函数
  7. ionic Plugin插件,与原生app端交互,ionic端代码
  8. Git创建本地分支并关联远程分支(二)
  9. vue 导航菜单默认子路由
  10. 自动装箱拆箱(Autoboxing,Unboxing)