标签:
Description
Input
Output
Sample Input
2 6 19 0
Sample Output
10 100100100100100100 111111111111111111
直接爆搜
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<stack>
#include<string>
#include<map>
#include<set>
#include<ctime>
#define eps 1e-6
#define MAX 10005
#define INF 0x3f3f3f3f
#define LL long long
#define pii pair<int,int>
#define rd(x) scanf("%d",&x)
#define rd2(x,y) scanf("%d%d",&x,&y)
#define rd3(x,y,z) scanf("%d%d%d",&x,&y,&z)
///map<int,int>mmap;
///map<int,int >::iterator it;
using namespace std;
bool found;
void DFS(unsigned __int64 t,int n,int k)
{
if(found) return ;
if(t%n==0)
{
printf("%I64u\n",t);
found=true;
return ;
}
if(k==19)//到第19层,回溯
return ;
DFS(t*10,n,k+1);
DFS(t*10+1,n,k+1);
}
int main()
{
int n;
for(int i=1;i<200;i++)
{
found=false;
DFS(1,i,0); //从1开始搜n的倍数,第三个参数代表搜的层数,当到第19层时返回(因为第20层64位整数存不下)
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/u014665013/article/details/51334512