題目鏈接:http://poj.org/PRoblem?id=1426 題意:給你一個n,讓你找一個可以整除n的數,這個數只有0和1構成 解析:由于這個數很特殊,所以可以構造出來,用bfs從1開始,每步只能x*10或者x*10+1
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <queue>using namespace std;typedef long long ll;const int maxn = 1e6+100;int n;long long bfs(){ queue<long long>q; q.push(1LL); while(!q.empty()) { long long now = q.front(); q.pop(); if(now%n==0) return now; q.push(now*10LL); q.push(now*10LL+1LL); } return 0;}int main(){ while(~scanf("%d",&n)&&n) printf("%I64d/n",bfs()); return 0;}新聞熱點
疑難解答