zoukankan      html  css  js  c++  java
  • 洛谷P2089 烤鸡

    标签:暴力,枚举

    题目背景

    猪猪 Hanke 得到了一只鸡。

    题目描述

    猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 10 种配料(芥末、孜然等),每种配料可以放 1 到 3 克,任意烤鸡的美味程度为所有配料质量之和。

    现在, Hanke 想要知道,如果给你一个美味程度 n ,请输出这 10 种配料的所有搭配方案。

    输入格式

    一个正整数 n,表示美味程度。

    输出格式

    第一行,方案总数。

    第二行至结束,10 个数,表示每种配料所放的质量,按字典序排列。

    如果没有符合要求的方法,就只要在第一行输出一个 0。

    输入输出样例

    输入 #1
    11
    输出 #1
    10
    1 1 1 1 1 1 1 1 1 2 
    1 1 1 1 1 1 1 1 2 1 
    1 1 1 1 1 1 1 2 1 1 
    1 1 1 1 1 1 2 1 1 1 
    1 1 1 1 1 2 1 1 1 1 
    1 1 1 1 2 1 1 1 1 1 
    1 1 1 2 1 1 1 1 1 1 
    1 1 2 1 1 1 1 1 1 1 
    1 2 1 1 1 1 1 1 1 1 
    2 1 1 1 1 1 1 1 1 1 

    说明/提示

    对于 100 的数据,n5000。

    完整代码:

    #include<stdio.h>
    int main()
    {
        int a,b,c,d,e,f,g,h,i,j,k,l=0,m,n;
        scanf("%d",&n);
        for(a=1;a<4;a++)
        {
            for(b=1;b<4;b++)
            {
                for(c=1;c<4;c++)
                {
                    for(d=1;d<4;d++)
                    {
                        for(e=1;e<4;e++)
                        {
                            for(f=1;f<4;f++)
                            {
                                for(g=1;g<4;g++)
                                {
                                    for(h=1;h<4;h++)
                                    {
                                        for(i=1;i<4;i++)
                                        {
                                            for(j=1;j<4;j++)
                                            {
                                                k=a+b+c+d+e+f+g+h+i+j;
                                                if(k==n) l=l+1;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        if(l==0) printf("0");
        else
        {
            printf("%d
    ",l);
        }
            for(a=1;a<4;a++)
        {
            for(b=1;b<4;b++)
            {
                for(c=1;c<4;c++)
                {
                    for(d=1;d<4;d++)
                    {
                        for(e=1;e<4;e++)
                        {
                            for(f=1;f<4;f++)
                            {
                                for(g=1;g<4;g++)
                                {
                                    for(h=1;h<4;h++)
                                    {
                                        for(i=1;i<4;i++)
                                        {
                                            for(j=1;j<4;j++)
                                            {
                                                k=a+b+c+d+e+f+g+h+i+j;
                                                if(k==n) printf("%d %d %d %d %d %d %d %d %d %d 
    ",a,b,c,d,e,f,g,h,i,j);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    指数
    汉诺塔问题
    只用递归和当前的栈实现栈的逆序
    让你996的不是你的老板,而是其他愿意996的人
    luke towan
    2020-9-3
    2020-9-3
    springboot注解
    2020-9-2
    20200827
  • 原文地址:https://www.cnblogs.com/cyn522/p/12329113.html
Copyright © 2011-2022 走看看