Poj 1426 Find The Multiple(DFS)

accbulb / 2024-02-03 / 原文

#include<iostream>
using namespace std;
typedef unsigned long long ull;
int n,k;
void DFS(ull ans,int n,int count){
    if(!k || count==18 ) return ;
    if(ans%n==0){
        cout<<ans<<endl;
        k=0;
        return ;
    }
    DFS(ans*10,n,count+1);
    DFS(ans*10+1,n,count+1);
}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    while(cin>>n){
        if(n==0) return 0;
        k=1;
        DFS(1,n,1);
    }
    return 0;
}

BFS爆了,TLE了^^