[Poj 1426] Find The Multiple BFS
来源:互联网 发布:网络卫生直报平台 编辑:程序博客网 时间:2024/06/07 09:57
Find The Multiple
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 24596 Accepted: 10128 Special Judge
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.
Sample Input
2
6
19
0
Sample Output
10
100100100100100100
111111111111111111’
用BFS来搜索满足条件的数,注意必须使用long long
#include<iostream>#include<stdio.h>#include<queue>using namespace std;int x;long long ans;int flag;struct node{ long long y; int step; node(long long yy,int st) { y=yy; step=st; }node(){}};queue<node> q;void bfs(){ while(!q.empty()) q.pop(); q.push(node(0,1)); q.push(node(1,1)); if(x==1) flag=1; if(x==1) ans=1; while(!q.empty()) { if(flag) break; node now=q.front(); //cout<<now.y<<endl; q.pop(); for(int k=0;k<=1;k++) { //cout<<now.step<<endl; long long mx=0; if(k==1) mx++; if(k==1) for(int i=1;i<=now.step;i++) mx*=(long long)10; //cout<<" "<<mx<<endl; mx+=now.y; if(mx!=0&&mx%x==0) { ans=mx; flag=1; } q.push(node(mx,now.step+1)); } } }int main(){ while(scanf("%d",&x)) { flag=0; if(x==0) return 0; bfs(); printf("%lld\n",ans); }}
- POJ 1426 Find The Multiple bfs
- poj 1426 Find The Multiple(bfs)
- Find The Multiple (poj 1426 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)
- POJ 1426 BFS-Find The Multiple
- poj 1426 Find The Multiple (bfs / dfs)
- Find The Multiple poj 1426 bfs
- poj 1426 Find The Multiple(bfs)
- POJ-1426 Find The Multiple ( BFS )
- POJ 1426 Find The Multiple (BFS)
- Linux IO模式
- 错误:“LNK1169找到一个或者多个重定义的符号”
- 文章标题
- 第十五讲--Oracle存储结构:文件
- Widora MT7688 开发板录音放音使用方法
- [Poj 1426] Find The Multiple BFS
- Java基础静态变量、静态方法
- Windows下CMD命令大全
- 安卓ART与dalvik
- Maven时遇到的一个错误
- 粗糙分析设计模式——单例模式
- picasso Universal-Image-Loader 图片加载简易代码
- Kth Smallest Element in a BST
- Qt之XML学习1