当前位置: 首页 > news >正文

POJ Prime Path 埃氏筛法+广度优先搜索

思路:用埃氏筛法打个表,然后bfs即可

#include <iostream>
#include <queue>
using namespace std;
typedef long long ll;
ll inf = 0x3f3f3f3f3f3f3f3f;
bool isPrime[10007];
ll d[10007];
int tenPow[10];
int mint;
void initTenPow()
{tenPow[0] = 1;for (int i = 1; i <= 7; i++){tenPow[i] = tenPow[i - 1] * 10;}
}
void sieve()
{for (int i = 0; i <= 10000; i++){isPrime[i] = true;}isPrime[0] = false, isPrime[1] = false;for (int i = 1; i * i <= 10000; i++){if (!isPrime[i]){continue;}for (int j = 2 * i; j <= 10000; j += i){isPrime[j] = false;}}
}
void init()
{for (int i = 1000; i <= 9999; i++){d[i] = inf;}
}
void bfs(int start)
{queue<int> que;que.push(start);d[start] = 0;while (!que.empty()){int p = que.front();que.pop();for (int i = 1; i <= 4; i++){for (int j = 0; j <= 9; j++){if (i == 1 && j == 0){continue;}int q = (p / tenPow[5 - i]) * tenPow[5 - i] + (j * tenPow[4 - i]) + (p % tenPow[4 - i]);if (isPrime[q] && d[p] + 1 < d[q]){d[q] = d[p] + 1;que.push(q);}}}}
}
int main()
{initTenPow();sieve();int t, p, q;scanf("%d", &t);while (t--){init();scanf("%d%d", &p, &q);bfs(p);printf("%lld\n", d[q]);}return 0;
}

http://www.lryc.cn/news/126430.html

相关文章:

  • React React Native
  • 分布式定时任务系列5:XXL-job中blockingQueue的应用
  • QT网络编程之TCP
  • 《游戏编程模式》学习笔记(四) 观察者模式 Observer Pattern
  • 前端一键升级 package.json里面的依赖包管理
  • 当速度很重要时:使用 Hazelcast 和 Redpanda 进行实时流处理
  • 筛法求欧拉函数
  • consul限制注册的ip
  • 用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?
  • EJB基本概念和使用
  • 神经网络基础-神经网络补充概念-09-m个样本的梯度下降
  • 分布式 - 消息队列Kafka:Kafka消费者分区再均衡(Rebalance)
  • BIO、NIO和AIO
  • 理解 Go 中的切片:append 操作的深入分析(篇1)
  • 由于找不到mfc140u.dll,无法继续执行代码怎么修复?
  • 【0.1】lubancat鲁班猫4刷入debian网络ping 域名不通问题
  • KafkaStream:基本使用
  • 【数据结构】二叉树
  • 基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)
  • jenkins自动化构建保姆级教程(持续更新中)
  • HTTPS 的加密流程
  • Jmeter 参数化的几种方法
  • 剑指Offer45.把数组排成最小的数 C++
  • 【java毕业设计】基于SSM+MySql的人才公寓管理系统设计与实现(程序源码)--人才公寓管理系统
  • golang操作excel的高性能库——excelize/v2
  • 学习51单片机怎么开始?
  • [.NET学习笔记] -.NET6.0项目动态加载netstandard2.0报错但项目添加引用则正常的问题
  • 山景DSP芯片可烧录AP8224C2音频处理器方案
  • 来聊聊托管服务提供商(MSP)安全
  • 最新版本的Anaconda环境配置、Cuda、cuDNN以及pytorch环境一键式配置流程