Find The Multiple POJ1426 (有点特殊的搜索)

E – Find The MultipleTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uSubmit Status Practice POJ 1426DescriptionGiven a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.InputThe input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.OutputFor each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.Sample Input26190Sample Output10100100100100100100

111111111111111111

#include<iostream>#include<cstring>#include<string>#include<cmath>#include<map>#include<queue>#include<cstdio>#include<vector>#include<algorithm>#define bug printf("—–\n");using namespace std;const int maxn=110;const int inf=210000;typedef long long ll;int n;int ok=0;void dfs(ll k,int dep){if(ok)return;if(k%n==0){ok=1;cout<<k<<endl;return ;}if(dep>=19)return;//到此返回,__int64的极限dfs(k*10,dep+1);dfs(k*10+1,dep+1);}int main(){//freopen("in.txt","r",stdin);int m,i,j,k,t;while(cin>>n&&n){ok=0;dfs(1,0);}return 0;}

,即使爬到最高的山上,一次也只能脚踏实地地迈一步。

Find The Multiple POJ1426 (有点特殊的搜索)

相关文章:

你感兴趣的文章:

标签云: