HDU 4394 BFS
M2%10x=N (x=0,1,2,3....)
给出N,找到最小的满足条件的M
由于:N的个位只由M的个位决定,N十位由M的个位和十位决定,N的百位由M的个位十位百位决定,以此类推
所有从个位开始搜索满足条件的数字即可
#include"stdio.h"
#include "string.h"
#include "math.h"
#include "queue"
using namespace std;
__int64 flag,n;__int64 make(__int64 x,__int64 dit,__int64 num,__int64 i)
{__int64 y,now,j;y=1;for (j=1;j<dit;j++)y*=10;now=x+y*i;if ((now*now%(y*10)/y)==num) return now;return -1;
}
void bfs()
{queue<__int64>q;__int64 dit,i,cnt,x,now,num;q.push(0);dit=0;flag=-1;while (!q.empty()){cnt=q.size();num=n%10;dit++;n/=10;while (cnt--){x=q.front();q.pop();for (i=0; i<=9; i++){now=make(x,dit,num,i); // x之前所生成的数字,dit当前搜索到第几位,应该位应该匹配的数字,搜索当前位数字为iif (now!=-1){q.push(now);if (n==0){if (now<flag|| flag==-1)flag=now;}}}}if (flag!=-1) return ;}
}
int main()
{__int64 t;scanf("%I64d",&t);while (t--){scanf("%I64d",&n);if (n==0){printf("0\n");continue;}bfs();if (flag==-1) printf("None\n");else printf("%I64d\n",flag);}return 0;
}
HDU 4394 BFS相关推荐
- 【HDU 4394】Digital Square(bfs,数位搜索,思维,数学)
题干: Given an integer N,you should come up with the minimum nonnegative integer M.M meets the follow ...
- hdu 5433(bfs+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5433 解题思路: dp[i][j][k]表示在(x,y)点,毅力为k时的最小体力.由于每个点可能会走多 ...
- hdu 2579 BFS
http://acm.hdu.edu.cn/showproblem.php?pid=2579 题目大意:给定 r * c 的迷宫,还有一个整数 k .迷宫中"."表示可以走,&qu ...
- D - Age of Moyu HDU - 6386 -BFS+DFS分层最短路
D - Age of Moyu HDU - 6386 题意:双向图,m条边,每条边有一个编号id,而花费就是根据这个id的变化来确定的求1-n的最短路 思路:全值为0,1的图直接bfs按层遍历图找到n ...
- hdu 5167 bfs
因为斐波那契数列增长很快(指数级),所以10Y以内只有不到50个斐波那契数,将这些数字所有可能的乘积存起来查询即可,这里采用bfs+set的方式. 1 #include <iostream> ...
- hdu 1026 bfs+记录路径
题意:从0,0点出发到n-1,m-1点,路上的数字代表要在这个点额外待多少秒,求最短的路 递归输出路径即可 1 #include<cstdio> 2 #include<iostrea ...
- hdu 4568 bfs + 状压dp
//这题的数据是不是有问题... 不考虑宝藏一个也拿不到也能AC... 1 #include "bits/stdc++.h" 2 using namespace std; 3 co ...
- hdu 1044 BFS(压缩图)+DFS
题意: 给你起点,终点,图上有墙有路还有宝物,问你在规定时间内能否能到终点,如果能问最多能捡到多少宝物. 思路: 看完这个题目果断 BFS+三维的mark ...
- hdu 1226(bfs+同余剪枝)
超级密码 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
最新文章
- 【Netty】NIO 缓冲区 ( Buffer ) 组件
- 认识并测量Typed DataSet
- (面试题)删除在另一个字符串中出现的字符
- POJ - 2135 Farm Tour(最小费用最大流)
- HTML5实现文件断点续传
- Java银行开户,取钱,存钱,查询余额,退出。。。。。
- sqlserver 常用存储过程集锦
- CVPR2020|无需3D运动数据训练,最新SOTA人体姿势估计方法
- ActiveMQ持久订阅设置
- 在使用DelphiXE3和SQLite3进行程序开发时,解决最后一个字符乱码的问题
- 机器学习笔记最大熵之NER
- 手机定位--GPS定位,基站定位,辅助定位
- js 无弹框打印_打印预览,关闭窗口等js代码
- soff被判3年,软件业是福是祸?
- Python GUI编程之PyQt5入门到实战
- 适合初学者的java学习网站(1)
- 一名优秀的销售人员应该具备哪些素质和能力?
- 基于android的电子词典设计_基于Android的电子词典软件的设计与实现 (含外文翻译).doc...
- flarum使用随机头像
- rtklib-4-周跳探测
热门文章
- c语言程序设计教程韩立毛答案,c语言程序设计教程201X韩立毛徐秀芳书后练习题参考答案...
- js 中的evel 函数
- studiolibrary安装_初学者daz studio中文基础安装布局教程
- 可数集合与不可数集合
- Flutter和RN对比分析
- 长安链大规模数据存储及数据膨胀分析
- 分布式跟踪系统(SpringCloudSluth+OpenZipkin)
- 手环服务器维修,智能手环解决方案
- oracle安装介绍
- SpringDataJPA+Hibernate框架源码剖析(六)@PersistenceContext和@Autowired注入EntityManager的区别