第一道BFS
来源:互联网 发布:培训交互设计师知乎 编辑:程序博客网 时间:2024/05/01 06:06
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.
Input
The input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.
Output
For each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.
Sample Input
2
6
19
0
Sample Output
10
100100100100100100
111111111111111111
BFS对于树来说,是按照层来搜索的
推广到图也类似
这道题是典型的树
题意:
给你一个数n;
让你找到一个数是它的倍数,并且只由0和1组成。
一个数怎么才能只有0和一呢?
1->1*10=10->10+1=11>110>111>1110>>1111
除了这一类数没有其他的啦= =
这一点是关键
那么这个是怎么变成的呢?
*10 or *10+1;
代码
我们只需要按层改变就好啦
#include <iostream>#include<queue>using namespace std;queue<int>qint bfs(){ while(q.empty()) q.pop(); q.push(1); while (true){ int p= q.front(); q.pop; if(p%n==0) return p; q.push(p*10); q.push(p*10+1); } return 0;}int main(){ int n; while (cin>>n&&n) cout<<bfs()<<endl;}
- 第一道BFS
- 第一道bfs,撸了一晚上
- !POJ 2251 & ZOJ 1940--BFS(第一道BFS)
- POJ 3278 第一道BFS 100题 纪念一下
- Light OJ 1238--BFS(第一道自己做的)
- HDU 1242 Rescue (第一道优先队列+BFS)
- poj 3278 || hdu2717 Catch That Cow 人生第一道BFS
- POJ 3126 Prime Path 第一道BFS 循环队列,AC的很辛苦!
- 一场比赛一道题【bfs】
- 第一道ACM练习题
- 第一道高精度题
- 状态dp 第一道
- HDU1010第一道DFS
- bzoj3343(第一道分块)
- 第一道概率dp,
- 第一道题目
- pwn题解第一道
- 人生第一道 DP
- 图的广度搜索(C语言版)
- Tensorflow学习(3)参数初始化
- 十三:表达式if ... else
- 算法练习(24):Counting Bits
- java 金额计算不能用float、doube!!!!必须用BigDecimal
- 第一道BFS
- SDUT-oj 时间日期格式转换(详解)
- 排序算法(五) 简单选择排序
- 配置NODE_HOME
- MapReduce原理
- java面试题jvm字节码的加载与卸载
- phpMyAdmin配置文件config.inc.php正确配置
- Android Studio导入项目在 Building gradle project info 卡住的解决办法
- 十四:表达式for loop