题目大意

给一个N, 求满足条件的M

样例

Sample Input
3
3
21
25
Sample Output
None
11
5

思路
低位向高位宽搜索 , 先试探个位, 如果个位合理, 则试探十位,百位,千位。等等;如果合理就入队列;
一直到搜索到那个数就输出。

代码

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
int n;
struct node{long long int m;int len;node(int x, int y):m(x), len(y){}bool operator <(const node &x) const {return m > x.m; //每次选取最小的值来试探}
};
priority_queue<node> q;
void dfs(){while(!q.empty()) q.pop();q.push(node(0,0));while(!q.empty()){node a = q.top();q.pop();int len = 1;for(int i = 0; i < a.len; i++){//代表已经选取了几位,然后后面对更高一位进行操作试探len *= 10;}if((a.m * a.m) % len == n){cout << a.m << endl;return;}for(int i = 0;i < 10; i++){ // 选值 node temp = node(0,0);temp.m = a.m + i * len;temp.len = a.len + 1;if((temp.m * temp.m) % (len * 10) == n % (len * 10)){//代表已经选取到合适的值q.push(temp);//选取到就入队    }}}printf("None\n");
}
int main(){int t;cin >> t;while(t--){scanf("%d", &n);if(n == 2 || n == 3 || n == 7 || n == 8){printf("None\n");}else{dfs();       }}return 0;
}

hdu 4394 Digital Square【标准DFS】相关推荐

  1. HDU - 4394 Digital Square(数位dfs)

    题目链接:点击查看 题目大意:给出N,求满足%的最小M 题目分析:通过(大佬们的)分析可以得到一个结论: N的个位只由M的个位决定,N十位由M的个位和十位决定,N的百位由M的个位十位百位决定,以此类推 ...

  2. 【HDU - 1455】Sticks (dfs + 剪枝)

    题干: George took sticks of the same length and cut them randomly until all parts became at most 50 un ...

  3. HDU 6386 Age of Moyu DFS+BFS

    /** HDU 6386 Age of Moyu DFS+BFS 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6386题意:1-->n的最小换乘次数 ...

  4. Digital Square HDU - 4394 dfs + 剪枝

    一.内容 Given an integer N,you should come up with the minimum nonnegative integer M.M meets the follow ...

  5. 【HDU 4394】Digital Square(bfs,数位搜索,思维,数学)

    题干: Given an integer N,you should come up with the minimum nonnegative integer M.M meets the follow ...

  6. 【HDU - 1518】Square (经典的dfs + 剪枝)

    题干: Given a set of sticks of various lengths, is it possible to join them end-to-end to form a squar ...

  7. HDU 1426 Sudoku Killer【DFS 数独】

    自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视.  据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份巨大的奖品 ...

  8. hdu 4358(莫队算法+dfs序列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4358 解题思路:用dfs求出整棵树的dfs序列,这样以u为根节点的子树就转化到相对应的区间上了.由于是 ...

  9. HDU(1572),最短路,DFS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1572 很久没写深搜了,有点忘了. #include <iostream> #include ...

最新文章

  1. JavaScript事件监听
  2. centos树莓派安装mysql_用树莓派实现网络批量自动安装CentOS
  3. span居div中_JavaScript-html Dom中的HTMLCollection和NodeList
  4. 使用android studio查看内存,Android Studio Profiler使用心得 检测内存泄露问题
  5. 监控系统安装配置文档(Nagios+Cacti+Nconf)
  6. VMware12部署windows xp虚拟机
  7. 让ubuntu在一个窗口下打开多个终端的软件——terminator
  8. Kotlin — 使用IDEA运行第一个Kotlin程序,打印“Hello World”!
  9. 解密中国网络游戏业的黑暗骑士:响尾马(下)
  10. cad 打开硬件加速卡_Win10系统运行CAD不流畅解决方法
  11. 新浪云存储 php,【PHP】新浪云SAE平台将本地图片和远程图片保存至Storage
  12. Tensorflow中的数据对象Dataset.shuffle()、repeat()、batch() 等用法
  13. Livid: 消失的未来
  14. krpano php,krpano调试模式的开启
  15. Android实现直播的博文和流程(全过程,超详细/附源码)
  16. android自定义系统键盘,Android自定义软键盘
  17. Abaqus 固定云图标尺
  18. Linux命令ls是什么缩写,linux基本命令ls、pwd、cd、mkdir等
  19. 导航软件后台播放语音有杂音,卡顿
  20. 网站关键词优化方法有哪些

热门文章

  1. python画残差图_seaborn回归图---回归模型图Implot、线性回归图regplot、线性回归残差图residplot...
  2. delphi 企业微信消息机器人_企业微信群消息机器人发送开源项目
  3. 模糊测试软件测试_模糊测试
  4. 定时器实验循环彩灯C语言,单片机实验三-定时器实验
  5. 2019年第十届蓝桥杯C/C++ 省赛B组真题+题解
  6. Vivado FPGA基础设计操作流程(1)
  7. 周纪五 赧王下四十三年(己丑、前272)——摘要
  8. @Autowired vs @PersistenceContext for EntityManager bean
  9. 哈夫曼树的创建和哈夫曼树编码及解码
  10. 最小编辑距离 (MED)实现-Python