题目链接

http://poj.org/problem?id=1426

题意

输入一个数n,输出任意一个 只含0、1且能被n整除的数m。保证n<=200,m最多100位。

题解

DFS/BFS都能做。

这里使用DFS。然后T了。就变成了打表A了。emm ,m最多会19位,这点我也很迷==。

其他

使用了Java大数,get了打开方式。

todo

  • 为啥m19??
  • BFS法
  • 0/1背包法
  • 和鸽笼原理有什么关系?

代码

打表A版

import java.math.BigInteger;
import java.util.Scanner; public class Main { static int num;
static boolean tag; static BigInteger[] arr=new BigInteger[201];
static String[] ans= {"0","1","10","1000000000000000011","100","10","1000000000000000110","1000000000000000111","1000","1000000000011111111","10","100000000000000001","1000000000000001100","1000000000000001","10000000000000010","1000000000000000110","10000","10000000000000101","1000000000111111110","1000000000000001101","100","10000000000000101","1000000000000000010","1000000000000010111","1000000000000011000","100","10000000000000010","1000000000101111111","100000000000000100","1000000000000000111","1000000000000000110","1000000000000110011","100000","1000000000000101111","100000000000001010","10000000000000010","1000000001111111100","100000000000000011","10000000000000110","10000000000000101","1000","1000000000000010111","100000000000001010","1000000000000010101","100000000000000100","1000000000111111110","100000000000001110","1000000000000101","1000000000000110000","1000000000000011101","100","10000000000000101","100000000000000100","1000000000000000011","1000000001101111110","1000000000000000010","1000000000000001000","1000000000000011","1000000000000001010","10000000000000011","1000000000000001100","1000000000000011","100000000001110010","1000000001011101111","1000000","10000000000000010","1000000000000111110","100000000000011","1000000000000010100","100000000000011","10000000000000010","1000000000000100101","1000000011111111000","1000000000001","1000000000000000110","1000000000000001100","100000000000001100","1000000000000001","100000000000001010","100000000000110001","10000","1000000000111111101","1000000000000110110","100000000000001101","1000000000000010100","100000000000001010","100000000000010010","100000000000000101","1000000000000001000","1000000000000011011","1000000000111111110","1000000000000001","1000000000000011100","1000000000001111001","10000000000001010","10000000000000110","1000000000001100000","100000000001111","1000000000000111110","1101111111111111111","100","1000000000000000001","100000000000001010","100000000000000001","1000000000000001000","100000000000001010","100000000010000110","10000000000001001","1000000001111111100","1000000000001000011","1000000000000000010","100000000000000011","100000000000110000","1000000000000111101","10000000000000110","100000000000001110","10000000000000100","1000000001101111101","100000000000000110","10000000000000101","1000000000000011000","1000000000000101111","10000000000000110","1000000001100011001","1000000000011100100","1000","1000000001111011110","1000000000000110101","10000000","10000000000001001","10000000000000010","10000000001101","1000000000010111100","1000000000001010001","1000000000000110","1000000001101111110","100000000000111000","1000000000001","1000000000000110","1000000000001001111","100000000000000100","1000000000000101","1000000000011110","1000000000000001","1000000111111110000","1000000000000001010","10000000000010","100000000000011111","1000000000000010100","10000000000001111","1000000000000001100","1000000000010111001","1000000000000011000","1000000000111111101","10000000000000010","100000000001110010","1000000000000010100","1000000000000101","1000000000001100010","1000000000000000011","100000","1000000000001101001","100000000111111110","1000000000011011101","1000000000001110100","1000000000000111110","1000000000000011010","1000000000001001101","10000000000011000","1000000000001100111","100000000000001010","1000000000111111011","1000000000000100100","1000000000000010111","1000000000000001010","100000000000000100","100000000000010000","10000000000000011","100000000000001110","1000000000000100111","1000000001111111100","10000000000000111","10000000000000010","1000000000000011","100000000000011000","1000000000000000110","10000000001101110","100000000001001001","100000000000010100","1000000010111010111","10000000000000110","1000000000011111101","1000000000011000000","1000000010000100001","1000000000011110","100000000000001010","100000000010010100","100000000000111001","1111111111111111110","1000000000101111001","1000"}; public static void main(String args[]) {
// //打表
// for(int i=1;i<201;++i) {
// tag=false;
// dfs(BigInteger.valueOf(1),i,1);
// System.out.print("\"");
// System.out.print(arr[i]);
// System.out.print("\"");
// System.out.print(",");
// } Scanner in=new Scanner(System.in);
while(in.hasNext()) {
int num=in.nextInt();
if(num==0) {break;}
System.out.println(ans[num]);
}
} public static void dfs(BigInteger x,int num,int layer) {
if(tag) {return;}//
if(x.mod(BigInteger.valueOf(num))==BigInteger.ZERO) {
//System.out.println(x);
arr[num]=x;
tag=!tag;
return;
}
if(layer==19) {return;}
dfs(x.multiply(BigInteger.valueOf(10)),num,layer+1);
dfs(x.multiply(BigInteger.valueOf(10)).add(BigInteger.ONE),num,layer+1);
}
}

DFS T版,估计是JAVA大数T的?C++用unsigned long long这么写感觉不会T?

import java.math.BigInteger;
import java.util.Scanner; public class Main { static int num;
static boolean tag; public static void main(String args[]) {
Scanner in=new Scanner(System.in);
while(in.hasNext()) {
int num=in.nextInt();
if(num==0) {break;}
tag=false;
dfs(BigInteger.valueOf(1),num,1);
}
} public static void dfs(BigInteger x,int num,int layer) {
if(tag) {return;}//
if(x.mod(BigInteger.valueOf(num))==BigInteger.ZERO&&!tag) {
System.out.println(x);
tag=!tag;
return;
}
if(layer==19) {return;}
dfs(x.multiply(BigInteger.valueOf(10)),num,layer+1);
dfs(x.multiply(BigInteger.valueOf(10)).add(BigInteger.ONE),num,layer+1);
}
}

[POJ]Find The Multiple(DFS)的更多相关文章

  1. POJ 1321 棋盘问题 --- DFS

    POJ 1321 题目大意:给定一棋盘,在其棋盘区域放置棋子,需保证每行每列都只有一颗棋子. (注意 .不可放 #可放) 解题思路:利用DFS,从第一行开始依次往下遍历,列是否已经放置棋子用一个数组标 ...

  2. POJ.3321 Apple Tree ( DFS序 线段树 单点更新 区间求和)

    POJ.3321 Apple Tree ( DFS序 线段树 单点更新 区间求和) 题意分析 卡卡屋前有一株苹果树,每年秋天,树上长了许多苹果.卡卡很喜欢苹果.树上有N个节点,卡卡给他们编号1到N,根 ...

  3. poj 3373 Changing Digits (DFS + 记忆化剪枝+鸽巢原理思想)

    http://poj.org/problem?id=3373 Changing Digits Time Limit: 3000MS   Memory Limit: 65536K Total Submi ...

  4. POJ 1655 - Balancing Act - [DFS][树的重心]

    链接:http://poj.org/problem?id=1655 Time Limit: 1000MS Memory Limit: 65536K Description Consider a tre ...

  5. poj 3321 Apple Tree dfs序+线段树

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K       Description There is an apple tree outsid ...

  6. 开篇,UVA 755 && POJ 1002 487--3279 (Trie + DFS / sort)

    博客第一篇写在11月1号,果然die die die die die alone~ 一道不太难的题,白书里被放到排序这一节,半年前用快排A过一次,但是现在做的时候发现可以用字典树加深搜,于是乐呵呵的开 ...

  7. poj 1416 Shredding Company( dfs )

    我的dfs真的好虚啊……,又是看的别人的博客做的 题目== 题目:http://poj.org/problem?id=1416 题意:给你两个数n,m;n表示最大数,m则是需要切割的数. 切割m,使得 ...

  8. poj 1129 Channel Allocation ( dfs )

    题目:http://poj.org/problem?id=1129 题意:求最小m,使平面图能染成m色,相邻两块不同色由四色定理可知顶点最多需要4种颜色即可.我们于是从1开始试到3即可. #inclu ...

  9. POJ 1699 Best Sequence dfs

    题目: http://poj.org/problem?id=1699 无意间A了..超时一次,加了一句 if(len > ans)return; 然后就A了,dfs题,没有太多好说的,代码写的效 ...

随机推荐

  1. 【NOI2005】瑰丽华尔兹 - DP

    题目描述 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意? 众所周知,跳华尔兹时,最重要的是有好的音乐.但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的 ...

  2. 日记——递归or搜索?

    好久没发博了,今天发一篇. 这两天学校功课比较紧,编程稍微放了放做题量. 抽空学了学深搜,感谢zah同学给我讲解dfs,浅显易懂,我很快就适应了. 做了几个基础题,没有想象中那么难(菜鸡BB,因为题简 ...

  3. Python Unofficial Windows Binary

    python一些安装包有时候在windows下无法 直接安装. 可以在一个非官方的Python Windows扩展库里面找到对应的打包好的whl,下载后直接安装. https://www.lfd.uc ...

  4. WeakHashMap的应用场景

    WeakHashMap是啥: WeakHashMap和HashMap都是通过"拉链法"实现的散列表.它们的源码绝大部分内容都一样,这里就只是对它们不同的部分就是说明.  WeakR ...

  5. C++炮台实验

    炮台实验 蒜头君在玩一个战争模拟游戏,他有高度为 1,2,3,... ,n的炮台各一个,他需要把这 n个炮台从左往右排成一行,并且炮口都朝向右边. 在这个游戏中,所有炮台发射的炮弹会摧毁前方所有高度比 ...

  6. Nginx学习简记_part1

    内容概览 nginx简介 (1)介绍nginx的应用场景和具体可以做什么事情 (2)介绍什么是反向代理 (3)介绍什么是负载均衡 (4)介绍什么是动静分离 nginx安装 (1)介绍nginx在lin ...

  7. Linux环境下如何生成core文件

    Linux环境下进程发生异常而挂掉,通常很难查找原因,但是一般Linux内核给我们提供的核心文件,记录了进程在崩溃时候的信息.但是生成core文件需要设置开关,具体步骤如下: 1.查看生成core文件 ...

  8. 精讲响应式WebClient第5篇-请求超时设置与异常处理

    本文是精讲响应式WebClient第5篇,前篇的blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方 ...

  9. php 正则表达式匹配(持续更新)

    正则表达式匹配网址: <?php header('Content-type:text/html;charset=utf-8'); $str = ' 百度http://www.baidu.com网 ...

  10. 把Autofac玩的和javaSpring一样6

    大家好,今天来介绍我开源的一个autofac.Annotation项目 源码:https://github.com/yuzd/Autofac.Annotation 本项目是autofa的一个扩展组件, ...