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 }

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

    题目来源:洛谷

  • 相关阅读:
    greta一些简单实用的字符串匹配
    内存管理
    粒子系统
    资源的后台加载
    GRETA正则表达式模板类库
    便利的开发工具log4cpp快速使用指南
    vc/mfc/vs2005下正则表达式源代码编程/微软greta Regular Expressions
    GRETA库在VS 2005环境下的编译经验
    揭开正则表达式的神秘面纱
    greta简单使用
  • 原文地址:https://www.cnblogs.com/J-william/p/6286192.html
Copyright © 2011-2022 走看看