POJ3126——Prime Path
2024-08-27 13:15:20
非常水的一道广搜题(专业刷水题)。
。。
#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;
}
最新文章
- Android笔记:蓝牙
- 罗永浩Vs王自如:浮躁的世界该如何降温?!
- C++中各种<;string,T>;关联方式的速度对比
- Xamarin.Forms 初探
- Spring整合Redis(spring-data-redis)
- Rational Rose2013安装及破解教程
- 痞子衡嵌入式:常用的数据差错控制技术(3)- 和校验(Checksum)
- Angular CLI: 全局脚本
- python学习 day018打卡 反射
- MongoDB 的安装以及使用
- 单机闭环 使用Nginx+Lua开发高性能Web应用
- Spring 利用PropertyPlaceholderConfigurer占位符
- C/C++ 头文件以及库的搜索路径
- 516.Longest Palindromic subsequence---dp
- CSS3中的变形与动画(一)
- keepalive安装和配置
- ArcSDE空间数据库中SDE用户使用探讨 (转载)
- 在Elasticsearch6.X中如何实现去重
- apk下载与安装
- Linux中的gpio口使用方法
热门文章
- bzoj 3172 单词
- [转]";RDLC";报表-参数传递及主从报表
- 数据连接类 这里采用mysql
- angularJS之ng-bind与{{}}取值的区别
- 【sqli-labs】 less20 POST - Cookie injections - Uagent field - Error based (POST型基于错误的cookie头部注入)
- HDU_1847_基础博弈sg函数
- ionic Plugin插件,与原生app端交互,ionic端代码
- Git创建本地分支并关联远程分支(二)
- vue 导航菜单默认子路由
- 自动装箱拆箱(Autoboxing,Unboxing)