poj3126 筛素数+bfs
//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的更多相关文章
- Prime Path素数筛与BFS动态规划
埃拉托斯特尼筛法(sieve of Eratosthenes ) 是古希腊数学家埃拉托斯特尼发明的计算素数的方法.对于求解不大于n的所有素数,我们先找出sqrt(n)内的所有素数p1到pk,其中k = ...
- Prime Path(POJ - 3126)【BFS+筛素数】
Prime Path(POJ - 3126) 题目链接 算法 BFS+筛素数打表 1.题目主要就是给定你两个四位数的质数a,b,让你计算从a变到b共最小需要多少步.要求每次只能变1位,并且变1位后仍然 ...
- 【板子】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 ...
- CF449C Jzzhu and Apples (筛素数 数论?
Codeforces Round #257 (Div. 1) C Codeforces Round #257 (Div. 1) E CF450E C. Jzzhu and Apples time li ...
- 洛谷P3383 【模板】线性筛素数
P3383 [模板]线性筛素数 256通过 579提交 题目提供者HansBug 标签 难度普及- 提交 讨论 题解 最新讨论 Too many or Too few lines 样例解释有问题 ...
- 洛谷 P3383 【模板】线性筛素数
P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...
- POJ2689-Prime Distance-区间筛素数
最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total S ...
- 线性筛素数和理解 洛谷P3383
题目链接:https://www.luogu.org/problemnew/show/P3383 线性筛法筛素数的特点是每一个数字只被遍历一次,即时间复杂度为O(n),所以说他是线性的,并且所有的非素 ...
- ACM-ICPC 2018 南京赛区网络预赛 J题Sum(线性筛素数)
题目链接:https://nanti.jisuanke.com/t/30999 参考自博客:https://kuangbin.github.io/2018/09/01/2018-ACM-ICPC-Na ...
随机推荐
- 打不开chm文件解决办法
打不开chm文件解决办法.bat regsvr32 itss.dll /sregsvr32 hhctrl.ocx /s
- 在腾讯云上创建您的SQL Cluster(3)
版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/250 来源:腾云阁 https://www.qclo ...
- Mongos与集群均衡
版权声明:本文由孔德雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/190 来源:腾云阁 https://www.qclo ...
- 学习ASP.NET之前,先了解它
ASP.NET是一个使用HTML,CSS,JavaScript和服务器脚本构建的网页和网站的开发框架,不是一门编程语言. ASP.NET支持三种不同的开发模式:Web Pages(Web页面),MVC ...
- jsonp跨域原理
Jsonp原理: 首先在客户端注册一个callback (如:'jsoncallback'), 然后把callback的名字(如:jsonp1236827957501)传给服务器.注意:服务端得到ca ...
- java复用和传参
java复用和传参的三种方法总结: (1) 直接在一个类中调用函数 : 1 package test1; 2 3 public class a 4 { 5 public static void get ...
- mac svn
开启svn服务:sudo svnserve -d -r /Users/fuyi/svnserver/mycode/
- Qt Charts
简述 Qt Charts模块提供了一套易于使用的图表组件.它采用了Qt Graphics View框架,因此图表可以很容易地集成到现代的用户界面. Qt Charts可以被用作QWidgets.QGr ...
- (18)odoo规范
* 约定 # 命名会用 蛇形式或驼峰式 todo_task_stage 蛇形式 class TodoTask 驼峰式 变量名还是蛇形居多, 类名和方法名驼 ...
- uva--1339 - Ancient Cipher(模拟水体系列)
1339 - Ancient Cipher Ancient Roman empire had a strong government system with various departments, ...