http://poj.org/problem?id=1426
一道广搜的题目。
题意就是给你一个n,要你求出n的倍数中,只存在0和1的那个数字
所谓的只存在0和1,那么就是某个数的十倍或者十倍+1,而那个最开始的数应该是1。
Memory :5504K G++ runtime:391MS
#include <iostream>
#include <queue> using namespace std; int n; queue <long long >s; void bfs(int n)
{
while(!s.empty())
s.pop();
s.push();
while(!s.empty())
{
long long now;
now=s.front();
s.pop();
if(now%n==)
{
cout<<now<<endl;
return ;
}
s.push(now*);
s.push(now*+);
}
} int main()
{
while(cin>>n&&n)
{
bfs(n);
}
return ;
}