HDU 2212 - DFS (暴力打表)

题意

求DFS数(其实跟深度优先搜索没有卵关系, 标题党! )
比如145 = 1! + 4! + 5! 那么145就是DFS数…

思路

超级水题, 暴力打表
要记得 0! = 1

AC代码

打表代码:

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int jc[] = {1,1,2,6,24,120,720,5040,40320,362880};

int main()
{
    int sum, n;
    for( int i = 1; i <= 2147483647; i++ )
    {
        sum = 0;
        n = i;
        while( n ){
            sum += jc[n%10];
            n /= 10;
        }
        if( sum == i )
            printf("%d\n",i);
    }
    return 0;
}

最后提交

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    printf("1\n2\n145\n40585\n");
    return 0;
}

就行了…….

posted @ 2018-02-24 18:18  JinxiSui  阅读(73)  评论(0编辑  收藏  举报