zoukankan      html  css  js  c++  java
  • 烤鸡

    题目背景

    猪猪hanke得到了一只鸡

    题目描述

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

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

    输入输出格式

    输入格式:

    一行,n<=5000

    输出格式:

    第一行,方案总数

    第二行至结束,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 

    说明

    枚举

    代码实现:

     1 #include<cstdio>
     2 int n,ans;
     3 int f[300000][12],s[12];
     4 void find(int x,int y){
     5     if(x==10){
     6         if(y==n){
     7             for(int i=0;i<10;i++) f[ans][i]=s[i];
     8             ++ans;
     9         }
    10         return;
    11     }
    12     for(int i=1;i<=3;i++){
    13         s[x]=i;
    14         find(x+1,y+i);
    15     }
    16 }
    17 int main(){
    18     scanf("%d",&n);
    19     if(n>=10&&n<=30) find(0,0);
    20     printf("%d
    ",ans);
    21     for(int i=0;i<ans;i++){
    22         for(int j=0;j<10;j++){
    23             printf("%d",f[i][j]);
    24             if(j!=9) printf(" ");
    25         }
    26         printf("
    ");
    27     }
    28     return 0;
    29 }

    原作者的话提醒我们,不要把题目想的太难。

    题目来源:洛谷

  • 相关阅读:
    开源博客平台WordPress十岁啦!
    (转载)C# Attribute 用法备忘
    hibernate入门
    Hibernate对象关系映射基础
    struts2UI标签
    struts2文件上传2(多文件)
    struts2验证(手工)
    通过修改注册表改变txt文件的默认打开方式
    struts2验证(XML)
    Struts国际化
  • 原文地址:https://www.cnblogs.com/J-william/p/6286192.html
Copyright © 2011-2022 走看看