POJ 1426 BFS-Find The Multiple
2016-08-02 16:35
330 查看
Description
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.
题意:
给你一个正整数n,寻找一个只由0和1组成的n的倍数。
题解:
深度优先搜索问题,从各位开始搜索每一位为0和1的所有可能
即搜索:
0 1
10 11
100 101 110 111
…..
按位进行深度优先搜索即可。
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.
题意:
给你一个正整数n,寻找一个只由0和1组成的n的倍数。
题解:
深度优先搜索问题,从各位开始搜索每一位为0和1的所有可能
即搜索:
0 1
10 11
100 101 110 111
…..
按位进行深度优先搜索即可。
#include <iostream> #include <queue> typedef unsigned long long uLL; using namespace std; queue<uLL> q; uLL n; uLL m; void bfs() { while(!q.empty()) q.pop(); q.push(1); while(!q.empty()) { m = q.front(); q.pop(); if(m % n == 0) return; m = m * 10; q.push(m); m = m + 1; q.push(m); } } int main() { while(cin >> n && n) { bfs(); cout << m << endl; } return 0; }
相关文章推荐
- POJ1426-Find The Multiple (BFS 余数)
- poj 1426 Find The Multiple (bfs 搜索)
- POJ1426 Find The Multiple(bfs)
- DFS/BFS(同余模) POJ 1426 Find The Multiple
- poj 1426 Find The Multiple(bfs)
- poj 1426 Find The Multiple( bfs )
- POJ 1426 Find The Multiple (bfs搜索)
- poj - 1426-Find The Multiple-BFS
- poj 1426 Find The Multiple (BFS)
- POJ_1426_Find The Multiple(BFS)
- POJ 1426 Find The Multiple(BFS)
- poj 1426 Find The Multiple(bfs)
- POJ 1426-Find The Multiple(bfs)
- Poj 1426--Find The Multiple(bfs或dfs)
- POJ训练计划1426_Find The Multiple(BFS)
- Find The Multiple (poj 1426 bfs)
- POJ 1426 Find The Multiple(BFS 水~)
- POJ - 1426 Find The Multiple(15.10.10 搜索专题)bfs
- POJ 1426 Find The Multiple(简单搜索bfs)
- poj 1426 Find The Multiple special judge BFS or Doubi mode