Find The Multiple POJ - 1426

为了避免各位没心情看我的TLE 的过程,直接告诉你,最后两个代码是AC代码

bfs一位一位枚举,知道会爆LONG LONG 还是怀着侥幸心理试了一下,结果是TLE 。。。

#include<iostream>
#include<cstdio>
#include<queue>
#define ll long long
using namespace std;int main() {//  freopen("test.in", "r", stdin);int n;while(~scanf("%d", &n)) {queue<ll> Q;Q.push(1);while(!Q.empty()) {ll temp = Q.front();Q.pop();if(temp % n == 0) {printf("%lld\n", temp);break;}Q.push(temp*10);Q.push(temp*10+1);}}return 0;
}

又试了一发 __int64
哇的一声哭了出来,网上别人都能过,我就TLE了

#include<iostream>
#include<cstdio>
#include<queue>
#define ll __int64
using namespace std;int main() {//  freopen("test.in", "r", stdin);int n;while(~scanf("%d", &n) && n) {queue<ll> Q;Q.push(1);while(!Q.empty()) {ll temp = Q.front();Q.pop();if(temp % n == 0) {printf("%I64d\n", temp);break;}Q.push(temp*10);Q.push(temp*10+1);}}return 0;
}

???一发dfs就过了 218

#include <iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
int n,flag;
void dfs(int step, ll y)//step为数的长度,y为要寻找的数
{if(step > 19 || flag == 1)//long long最大值为18位,flag保证找到这个数的时候中止return;if(y % n == 0){flag=1;printf("%lld\n", y);return;}dfs(step+1, y*10);dfs(step+1, y*10+1);
}int main()
{while(scanf("%d", &n) == 1 && n){flag=0;dfs(1,1);//从1开始深搜,初始长度为1}
}

老老实实用正解,同余方程
参考
参考2
不会证明直接用结论吧
取了 i 个余数
乘了 i 个10
答案的最低位 i%2
次低位 (i/2)%2

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn = 1e6;
int n;
int mod[maxn], ans[maxn];int main() {//  freopen("test.in", "r", stdin); while(~scanf("%d", &n) && n) {mod[1] = 1 % n;int tmp = 2; // 一定要赋初值, 不然对 1 裂开 (我就因为没赋初值WA穿了)for(int i = 2; mod[i-1] != 0; i++) {mod[i] = (mod[i/2]*10+i%2)%n; // 模拟bfs末尾为1 或 0 的双入口 tmp = i;}int pos = 0;while(tmp) {ans[++pos] = tmp%2;tmp /= 2;} for(int i = pos; i >= 1; i--) printf("%d", ans[i]);printf("\n");}return 0;
}

Find The Multiple POJ - 1426(只包含01的十进制倍数(同余模定理))相关推荐

  1. Find The Multiple POJ - 1426 (BFS)

    题目大意 给定一个整数,寻找一个只有0,1构成的十进制数使得这个数能够整除这个整数 解法 直接bfs第一位放入1,之后每一位放入1或者0 代码 #include <iostream> #i ...

  2. POJ 1426 Find The Multiple

    解题思路: 1)每5位为一个基数,枚举5位所有只包含0,1的数ans[],map[i][j]保存(ans[j]*100000^i)%n的值 2)BFS计算所有组合出现的模,直到出现0 代码 #incl ...

  3. 如何检查一个Python字符串是否只包含数字?

    如何检查一个Python字符串是否只包含数字? python String类中有一个名为isdigit()的方法,如果字符串中所有字符都是数字且至少有一个字符,则返回true,否则返回false. p ...

  4. 平安科技:传入一个只包含1-9的数字字符串,输出的是包含所有数字的最小整数

    平安科技秋招笔试题: 传入一个只包含1-9的数字字符串,输出的是包含所有数字的最小整数.比如:输入"1992212",输出129. 实例: 输入 1992212 输出 129 思路 ...

  5. 剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

    问题:把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 通俗易懂的 ...

  6. puts遇到空格无法输出_输入一句英文,只包含字母和空格,如何输出这句英文中.....-黑马程序员技术交流社区...

    //输入一句英文,只包含字母和空格,如何输出这句英文中的最长单词?再把每个单词的首字母转换成大写! #include #include int main(int argc, const char * ...

  7. java小编程----给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。

    package com.henu;import java.util.Arrays;/*** @author limengdong* @date 2019年7月19日* @classroom 208bi ...

  8. 只包含因子2 3 5的数(51nod 思维 打表)

    K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = ...

  9. C语言试题五十七之假定输入的字符串中只包含字母和*号。请编写函数function,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。

    1. 题目 假定输入的字符串中只包含字母和*号.请编写函数function,它的功能是:删除字符串中所有*号.在编写函数时,不得使用c语言提供的字符串函数. 2 .温馨提示 C语言试题汇总里可用于计算 ...

最新文章

  1. Tensorflow警告:our CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
  2. 报错解决:fatal error: json/json.h: No such file or directory
  3. jQuery $.post()返回类型为json时不进入回调函数的原因及解决方法
  4. 中国大学MOOC 编译原理 第8讲测验(计分)
  5. 先序中序后序两两结合重建二叉树
  6. NeurIPS’20 | 长尾问题太严重?半监督和自监督就可以有效缓解!
  7. java解析简历_java:解析word文档(前程无忧简历),最好有代码案例?poi或者jacob解析都可以,有jar资源,求急。感谢...
  8. html5 职工入职后台管理系统_10个酷炫的后台模板
  9. 设计一个python程序来计算显示通过如图_Python程序设计 17计算机、物联网 合班-中国大学mooc-试题题目及答案...
  10. 20200202每日一句
  11. 用友u8不显示服务器名,用友u8提示对数据库服务器名
  12. el-dialog 圆角 白边问题
  13. ANT下载和配置 IDEA
  14. 物联网平台具体都有哪些特点
  15. opta planner_使用Excel Christmas Planner进行整理
  16. 如何使用Transformers和Tokenizers从头开始训练新的语言模型
  17. Parallel HDF5 简介
  18. IP座席接入系统方案
  19. app启动页html模板,APP引导页设计的五种常见表现方式
  20. 英语发音规则---E字母

热门文章

  1. 分布式mysql中间件(mycat)
  2. redis在PHP中的基本使用案例
  3. 编写更少量的代码:使用apache commons工具类库
  4. 基于HTML5的WebGL结合Box2DJS物理应用
  5. MapReduce编程实例之自定义排序
  6. 安装MySQL之后修改编码方式
  7. VC++6.0如何删除文件
  8. 全国计算机等级考试评卷、成绩处理和证书管理办法
  9. VSTS LoadTest使用原则
  10. java args例子_Spring AOP中使用args表达式的方法示例