zoukankan      html  css  js  c++  java
  • [恢]hdu 1716

    2011-12-21 02:04:56

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1716

    题意:中文。

    mark:dfs。

    代码:

    # include <stdio.h>
    # include <algorithm>


    using namespace std ;

    int a[4], num[4], tab[10] ;
    int flag ;


    void dfs(int n)
    {
    int i ;
    if (n == 4)
    {
    if (flag == 0) flag = 1 ;
    else printf (" ") ;
    printf ("%d%d%d%d", num[0], num[1], num[2], num[3]) ;
    }
    for (i = 0 ; i < 10 ; i++)
    {
    if (tab[i] != 0)
    {
    num[n] = i ;
    tab[i]-- ;
    dfs(n+1) ;
    tab[i]++ ;
    }
    }
    }


    int main ()
    {
    char ch ;
    int i, nCase = 1 ;
    while (~scanf ("%d %d %d %d%*c", &a[0], &a[1], &a[2], &a[3]))
    {
    if (!(a[0] || a[1] || a[2] || a[3]))
    break ;
    for (i = 0 ; i < 10 ; i++)
    tab[i] = 0 ;
    for (i = 0 ; i < 4 ; i++)
    tab[a[i]] ++ ;
    if (nCase++ != 1) printf ("\n") ;
    for (i = 1 ; i < 10 ; i++)
    {
    if (tab[i] != 0)
    {
    num[0] = i ;
    tab[i]-- ;
    flag = 0 ;
    dfs(1) ;
    tab[i]++ ;
    printf ("\n") ;
    }
    }
    }
    return 0 ;
    }



  • 相关阅读:
    文件操作(IO 技术)
    异常
    面向对象进阶
    面向对象
    函数用法和底层分析
    控制语句
    集合
    字典
    元组 tuple
    Python3 列表
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2315311.html
Copyright © 2011-2022 走看看