本题传送门

本题知识点:深度优先搜索 | 宽度优先搜索

题意很简单,让我们找一个只有1和0组成的十位数是n的倍数的数。

这题一开始吓到我了——因为Output里说输出的长度最长不超过100位???那是不是要用字符串了?不过貌似在[1, 200]里,他们的倍数好像都在18位内,即用unsigned long long就可以解决。(BUG?)

若想学习输出100位的可以看看这篇博客

数据很小。

  1. // POJ 1426
  2. #include<iostream>
  3. #include<cstdio>
  4. #include<queue>
  5. using namespace std;
  6. int n, m;
  7. bool take;
  8. struct node{
  9. unsigned long long num;
  10. int len;
  11. };
  12. queue<node> que;
  13. void dfs(unsigned long long ans, int t){
  14. if(take) return ;
  15. if(ans % n == 0){
  16. printf("%llu\n", ans);
  17. take = true;
  18. return ;
  19. }
  20. if(t == 19) return ;
  21. dfs(ans * 10, t + 1);
  22. dfs(ans * 10 + 1, t + 1);
  23. }
  24. void bfs(){
  25. node a; a.num = 1; a.len = 0;
  26. que.push(a);
  27. while(!que.empty()){
  28. node now = que.front(), next; que.pop();
  29. if(now.num % n == 0){
  30. printf("%llu\n", now.num);
  31. break;
  32. }
  33. if(now.len == 19) continue;
  34. else {
  35. next.num = now.num * 10; next.len = now.len + 1;
  36. que.push(next);
  37. next.num++;
  38. que.push(next);
  39. }
  40. }
  41. }
  42. int main()
  43. {
  44. while(~scanf("%d", &n) && n){
  45. while(!que.empty()) que.pop();
  46. take = false;
  47. // dfs(1, 0);
  48. bfs();
  49. }
  50. // freopen("Find The Multiple.txt", "w", stdout);
  51. // for(n = 1; n <= 200; n++){
  52. // take = false;
  53. // dfs(1, 0);
  54. // }
  55. return 0;
  56. }

【POJ1426】Find The Multiple的更多相关文章

  1. 【Atcoder】ARC084 Small Multiple

    [题意]求一个k的倍数使其数位和最小,输出数位和,k<=10^5. [算法]最短路 [题解]考虑极端情况数字是可能爆long long的(例如k*num=100...000),所以确定基本方向是 ...

  2. 【搜索】 Find The Multiple

    #include<stdio.h> #include<stdlib.h> #include<string.h> bool found; void DFS(unsig ...

  3. 【LeetCode】158. Read N Characters Given Read4 II - Call multiple times

    Difficulty: Hard  More:[目录]LeetCode Java实现 Description Similar to Question [Read N Characters Given ...

  4. 【原】Coursera—Andrew Ng机器学习—Week 2 习题—Linear Regression with Multiple Variables 多变量线性回归

    Gradient Descent for Multiple Variables [1]多变量线性模型  代价函数 Answer:AB [2]Feature Scaling 特征缩放 Answer:D ...

  5. Least Common Multiple (HDU - 1019) 【简单数论】【LCM】【欧几里得辗转相除法】

    Least Common Multiple (HDU - 1019) [简单数论][LCM][欧几里得辗转相除法] 标签: 入门讲座题解 数论 题目描述 The least common multip ...

  6. Error:【SLF4J: Class path contains multiple SLF4J bindings.】

    ylbtech-Error:[SLF4J: Class path contains multiple SLF4J bindings.] 1.返回顶部 1. SLF4J: Class path cont ...

  7. 【原】实时渲染中常用的几种Rendering Path

    [原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...

  8. 【原创】开源Math.NET基础数学类库使用(09)相关数论函数使用

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  9. 【原创】开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

随机推荐

  1. 拷贝 vs 赋值

    其实我只要关注两个动作就够了: 拷贝.赋值=            (而构造.析构的步骤都是没疑问的.) ——>   赋值=  都是显式调用的, 而拷贝构造可以显示调,也可能隐式被调. 下图错误 ...

  2. python 面向对象编程、获取对象信息

    面向对象与面向过程 参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0 ...

  3. drf--频率组件

    目录 频率组件简介 自定义频率类 内置频率类及局部使用 全局使用 源码分析 SimpleRateThrottle源码分析 频率组件简介 主要是为了限制用户访问的次数,比如某一个接口(发送验证码)同一个 ...

  4. UIPath RPA 自动化脚本 机器人从入门到精通

    本文链接:https://blog.csdn.net/qq_27256783/article/details/93619818 一.UiPath介绍 UiPath 是RPA(Robotic Proce ...

  5. 常用的本地存储-----cookie篇

    1.引言 随着浏览器的处理能力不断增强,越来越多的网站开始考虑将数据存储在「客户端」,那么久不得不谈本地存储了. 本地存储的好处: 一是避免取回数据前页面一片空白,如果不需要最新数据也可以减少向服务器 ...

  6. 使用Beef劫持客户端浏览器并进一步使用Beef+msf拿客户端shell

    环境: 1.Kali(使用beef生成恶意代码,IP:192.168.114.140) 2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.114.204) 3. 客户端(用于访 ...

  7. OpenSessionInViewFilter 的配置及替代方案

    OpenSessionInViewFilter 的配置及替代方案 博客分类: hibernate OpenSessionInViewFilter 的配置及替代方案  Spring 为我们提供了一个叫做 ...

  8. 认识Redis

    认识的Redis 官方原文: Redis is an open source (BSD licensed), in-memory data structure store, used as a dat ...

  9. win7 创建vhd提示“找不到指定文件的虚拟磁盘支持提供程序”解决方法

    本文参照:https://itbbs.pconline.com.cn/diy/16509116_2.html 14楼中"坚持不放弃"用户的答案得到解决 问题复现: 1.window ...

  10. php门面模式(facade pattern)

    书上不全的代码,我自己补全的. <?php /* The facade pattern is used when we want to simplify the complexities of ...