码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1426 Find The Multiple (深度搜素)

时间:2018-04-13 14:28:32      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:输出   stack   int   stream   cin   sig   自己   结果   格式   

对比与其他的变态搜索题目来说,这道题目就系显得特别友好;

之所以贴上这道题目,是因为还能才能从这道题目中学到东西

1.找到自己想要的搜索结果之后,如何终止搜索

2.如何储存最大的数值

AC CODE:

#include<iostream>
#include<cstdio>
#include<stack>
using namespace std;
unsigned __int64 tar,ans;
bool vis;
void dfs(unsigned __int64 x,int cnt)
{
    if(vis)                    //找到了自己想要的结果,那就不断的return ;          
    {
        return ;
    }
    //printf("%I64u\n",x);   //这是输出unsigned __int64 的标准格式;
    if(x%tar==0)
    {
        ans=x;
        vis=true;            //很简单,找到自己结果之后,往后的你都不想要了,那就引进一个判断变量就行
        return ;
    }
    if(cnt==19) return ;     

    dfs(x*10,cnt+1);
    dfs(x*10+1,cnt+1);
}


int main()
{
    while(cin>>tar)
    {
        if(tar==0)  break;
        ans=0;
        vis=false;
        dfs(1,0);
        cout<<ans<<endl;
    }
    return 0;
}

1.unsigned __int64 x;      对应的输出就是printf("I64u\n",x);    或者就是cout<<x<<endl;

POJ 1426 Find The Multiple (深度搜素)

标签:输出   stack   int   stream   cin   sig   自己   结果   格式   

原文地址:https://www.cnblogs.com/myxdashuaige/p/8819807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!