这真是超神奇的一道题目!样例没过,照样ACCEPTED,看来我人品爆了。呵呵呵。。。本人还是觉得是样例有问题的!
题目意思超简单:找到任意n的倍数m,但是m由十进制0,1组成。直接BFS。
代码:
#include<iostream>
using namespace std;
__int64 q[9999999];
int n;
void bfs()
{
int front,rear;
front=rear=0;
q[rear]=1;
rear++;
__int64 top;
while(front<rear)
{
top=q[front];
if(top%n==0){cout<<top<<endl;break;}
top*=10;
q[rear]=top;
rear++;
q[rear]=top+1;
front++;
rear++;
}
}
int main()
{
while(cin>>n,n)
{
bfs();
}
return 0;
}