poj 1426Find The Multiple

小黑妹發表於2012-07-16

這真是超神奇的一道題目!樣例沒過,照樣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;
}

 

 

相關文章