POJ 1426 Find The Multiple(DFS)
http://poj.org/problem?id=1426
题意:给你一个[1,200]之间的整数n,要你求它的一个非0倍数m,这个m的十进制数只包含0和1.m不超过100位.
分析:
本题用常规思维去考虑这个100位就会很麻烦,因为题目中给的所有实例都是有unsigned long long的解的(这点我也是看别人题解的出来的,如果真要求100位左右的解需要用数组模拟大数,然后dfs),也就是说有<=19位的解的.所以我们直接DFS即可.
AC代码:
#include<cstdio>
using namespace std;
int flag;
int n;
void dfs(unsigned long long s,int step)
{
if(flag==1 || step==19)
return ;
else if(s%n==0)
{
printf("%I64u\n",s);
flag=1;
return;
}
else
{
dfs(s*10,step+1);
dfs(s*10+1,step+1);
}
}
int main()
{
while(scanf("%d",&n)==1&&n)
{
flag=0;
dfs(1,0);
}
return 0;
}
分享到:
相关推荐
北大POJ1426-Find The Multiple【BFS+同余模】 解题报告+AC代码
北大POJ1014-Dividing【DFS】【多重背包+二进制优化】 解题报告+AC代码
北大POJ1020-Anniversary Cake 解题报告+AC代码
北大POJ1027-The Same Game 解题报告+AC代码
北大POJ1163-The Triangle 解题报告+AC代码
北大POJ3733-Changing Digits【DFS+强剪枝】 解题报告+AC代码
北大POJ1163-The Triangle
北大POJ3373-Changing Digits【DFS+强剪枝】 解题报告+AC代码
北大POJ3009-Curling 2.0【DFS+Vector+回溯+剪枝】 解题报告+AC代码
poj 2488——dfs深度优先遍历 //给行数列数,求问能否遍历,给出字典序的一种遍历
POJ2635-The Embarrassed Cryptographer 测试数据。 来源:NCPC 2005 问题D
北大POJ初级-所有题目AC代码+解题报告
北大POJ3267-The Cow Lexicon
北大POJ2635-The Embarrassed Cryptographer 解题报告+AC代码
北大POJ2965-The Pilots Brothers' refrigerator 解题报告+AC代码
北大POJ3982-The Fibonacci sequence 解题报告+AC代码
北大POJ3267-The Cow Lexicon 解题报告+AC代码
poj 1611 The Suspects 代码 并查集的应用
POJ-2870 Light Up + DFS(1级DFS+1级DFS) + Python - 思维导图 链接:https://blog.csdn.net/xxdragon126/article/details/122095922?spm=1001.2014.3001.5501
poj 3548 Restoring the digits.md