看了大牛的代码

新技能get√

如何优雅的计算广搜的次数

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<iostream>
 6 #include<queue>
 7 #include<string>
 8 #include<cmath>
 9 using namespace std;
10 #define MAXN 10001
11
12 bool prime[MAXN];
13 int vis[MAXN];
14 int a, b, t;
15
16 void deal()
17 {
18     for (int i = 2; i <= MAXN; ++i)
19         if (!prime[i])
20             for (int j = i*i; j <= MAXN; j += i)
21                 prime[j] = true;
22     /*for (int i = 0; i < 50; ++i)
23         if (!prime[i]) cout << i << " ";
24     cout << endl;*/
25 }
26
27 int bfs()
28 {
29     queue<int> q;
30     q.push(a);
31     q.push(-1);
32     int ans = 0;
33     while (!q.empty()) {
34         int t = q.front();
35         if (t == -1) {
36             q.pop();
37             if (q.empty()) return -1;
38             ans++;
39             q.push(t); continue;
40         }q.pop();
41         if (t == b) return ans;
42         int s;
43         for (int i = 1; i <= 9; ++i) {
44             s = i * 1000 + t % 1000;
45             if (!vis[s] && !prime[s]) {
46                 q.push(s);
47                 vis[s] = true;
48             }
49         }
50         for (int i = 0; i <= 9; ++i) {
51             s = i * 100 + t % 100 + t/1000*1000;
52             if (!vis[s] && !prime[s]) {
53                 q.push(s);
54                 vis[s] = true;
55             }
56         }
57         for (int i = 0; i <= 9; ++i) {
58             s = i * 10 + t % 10 + t/100*100;
59             if (!vis[s] && !prime[s]) {
60                 q.push(s);
61                 vis[s] = true;
62             }
63         }
64         for (int i = 0; i <= 9; ++i) {
65             s = i + t / 10 * 10;
66             if (!vis[s] && !prime[s]) {
67                 q.push(s);
68                 vis[s] = true;
69             }
70         }
71     }
72     return -1;
73 }
74
75 int main()
76 {
77     int  t;
78     cin >> t;
79     deal();
80     while (t--) {
81         cin >> a >> b;
82         memset(vis,0,sizeof(vis));
83         int res = bfs();
84         if (res == -1) puts("Impossible");
85         else cout << res << endl;
86     }
87     return 0;
88 }

转载于:https://www.cnblogs.com/usedrosee/p/4260173.html

uestc 851 方老师与素数相关推荐

  1. UESTC 914 方老师的分身I Dijkstra

    题意:求有向图的往返最短路的最长长度. 分析:求第一次到所有点的距离可以用一次Dijkstra求最短路求出来.考虑回来的路,想想就知道,从每个点回来的路即为将边的方向反转再求一次最短路后的结果. 所以 ...

  2. UESTC 915 -- 方老师的分身 II (spfa,dijkstra)

    题目大意:求从一个点到另一个点至少经过k条路径的最短路径长度: 思路分析:用两个变量u和e来维护一个点的dis,u表示当前点的编号,e表示经过多少条边,dis[u][e] 表示走到u点经过e条边的最短 ...

  3. UESTC 915 方老师的分身II --最短路变形

    即求从起点到终点至少走K条路的最短路径. 用两个变量来维护一个点的dis,u和e,u为当前点的编号,e为已经走过多少条边,w[u][e]表示到当前点,走过e条边的最短路径长度,因为是至少K条边,所以大 ...

  4. UESTC_方老师的分身 II CDOJ 915

    方老师的分身 II Time Limit: 10000/5000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  5. 帮助方老师使用固态硬盘安装win10,赚了150软妹币(但是他赖账了!)

    作为一个计算机专业的,具体点是软件工程,每次别人问自己是干啥的,总会被带入到对方的节奏:哦,能装系统,会修电脑... 今天方老师(一起工作了4年多的曾经是个真正的老湿!搞艺术的!已经提了离职报告了,不 ...

  6. 计算机网络笔记——概述、物理层、链路层(方老师408课程)

    文章目录 前言 互联网概述 互联网发展的三个阶段 互联网标准化机构 互联网的组成 边缘部分的通信方式 核心部分的交换方式 我国计算机网络的发展 计算机网络的类别 计算机网络的性能 速率.带宽.吞吐量 ...

  7. uestc 方老师的分身 III 拓扑排序

    没什么好说的.. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include< ...

  8. 快速滚动_方老师教滚动快速作文

    五年级第一单元作文集阴沉天空中有一小束照着你的阳光.亲爱的孩子,让时间在知识的枝条上.智慧的绿叶上.成熟的果实上留下它勤奋的印痕!罗婉汀作文集    自律且努力,别让生活太安逸.亲爱的孩子,耕耘者最信 ...

  9. 《爱国主义主题教育》闻方老师

    <爱国主义主题教育> 闻  方 [课程背景] 爱国主义教育是指树立热爱祖国并为之献身的思想教育.爱国主义教育是思想政治教育的重要内容.爱国主义是一面具有最大号召力的旗帜,是中华民族的优良传 ...

最新文章

  1. EJSS: 南土所梁玉婷组-生境决定了土壤植物系统中细菌、抗性基因和可移动元件间的关系...
  2. springboot后台弹出前台对话框_基于springboot的精品小说网站
  3. 【C++】Visual Studio教程(六) -更新Visual Studio
  4. 大津阈值分割matlab实验,OTSU(大津法)分割源程序(MATLAB版)
  5. 开学典礼上,施一公寄语:西湖大学绝不允许任何形式的学术不端!
  6. ubuntu内核损坏或误删除时的系统修复
  7. 在Django将已有数据库生成models文件
  8. 08 友盟项目--拆分日志为五个表---UDTF自定义函数
  9. 【kafka】Kafka Producer Sticky Partitioner kafka 生产者 粘性 分区器
  10. 【iOS开发】代理(delegate)
  11. 软件基本功:工作目标经常变化,要及时跟进
  12. 2016年第3本:启示录----打造用户喜爱的产品
  13. ArcCatalog连接PostgreSQL创建SDE库
  14. win8计算机无法安装打印机驱动程序,Win8电脑打印机驱动安装失败怎么办
  15. stm32 HAL 重映射
  16. html网页图片下方空隙太大,div+css排版图片IMG下边界有空隙
  17. linux双网卡配置两个ip,centos双线双ip配置,Windows双网卡双ip配置
  18. conda删除环境 显示cannot remove current environment. deactivate and run conda remove again
  19. python批量导入图片_Python批量导入图片生成PowerPoint 2007+文件
  20. 大学英语综合教程四 Unit 3 课文内容英译中 中英翻译

热门文章

  1. mysql如何实现逻辑自增_每日一面 - mysql 的自增 id 的实现逻辑是什么样子的?
  2. python另存为excel_在Python中将Excel另存为HTML
  3. python实例属性引用-python之对象(实例)
  4. Java基础入门笔记-单根继承
  5. 6.6.1最优二叉树(赫夫曼树)
  6. java语言factory_一个简单例子解释 Java factory
  7. php隐藏做上传图片,php做图片上传功能
  8. java打字游戏代码_牛逼啊!一个随时随地写Python代码的神器
  9. 计算机考研各科目分数,考研各科目及分数
  10. mysql80连接不上本地服务器_小白教程:ubuntu服务器安装jupyter notebook, 并能够实现本地远程连接