洛谷 P2089 烤鸡

P2089 烤鸡

题目背景

猪猪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 /*
 2     每种配料放1-3克
 3     所以小于10克和大于30克直接输出0就好了
 4     我还一直担心dfs会爆。。
 5 */
 6 #include <cctype>
 7 #include <cstdio>
 8
 9 const int MAXN=10010;
10
11 int n,tot;
12
13 int a[20],ans[MAXN][20];
14
15 inline void read(int&x) {
16     int f=1;register char c=getchar();
17     for(x=0;!isdigit(c);c==‘-‘&&(f=-1),c=getchar());
18     for(;isdigit(c);x=x*10+c-48,c=getchar());
19     x=x*f;
20 }
21
22 void dfs(int u,int rest) {
23     if(u==11) {
24         if(!rest) {
25             ++tot;
26             for(int i=1;i<=10;++i)
27                  ans[tot][i]=a[i];
28         }
29         return;
30     }
31     for(int i=1;i<=3;++i) {
32         a[u]=i;
33         dfs(u+1,rest-i);
34     }
35     return;
36 }
37
38 int hh() {
39     read(n);
40     if(n<10||n>30) {
41         printf("0\n");
42         return 0;
43     }
44     dfs(1,n);
45     printf("%d\n",tot);
46     for(int i=1;i<=tot;++i) {
47         for(int j=1;j<=10;++j)
48             printf("%d ",ans[i][j]);
49         printf("\n");
50     }
51     return 0;
52 }
53
54 int sb=hh();
55 int main(int argc,char**argv) {;}

代码

时间: 2024-12-28 14:16:02

洛谷 P2089 烤鸡的相关文章

洛谷 P2089 烤鸡【DFS递归/10重枚举】

[链接]:https://www.luogu.org/problemnew/show/P2089 题目描述 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末.孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和 现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案 输入输出格式 输入格式: 一行,n<=5000 输出格式: 第一行,方案总数 第二行至结束,10个数,表示每种配料所放的

P2089 烤鸡

题目背景 猪猪hanke得到了一只鸡 题目描述 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末.孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和 现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案 输入输出格式 输入格式: 一行,n<=5000 输出格式: 第一行,方案总数 第二行至结束,10个数,表示每种配料所放的质量 按字典序排列. 如果没有符合要求的方法,就只要在第一行

被军训:P2089 烤鸡

题目背景 猪猪 Hanke 得到了一只鸡. 题目描述 猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 1010 种配料(芥末.孜然等),每种配料可以放 11 到 33 克,任意烤鸡的美味程度为所有配料质量之和. 现在, Hanke 想要知道,如果给你一个美味程度 nn ,请输出这 1010 种配料的所有搭配方案. 输入格式 一个正整数 nn,表示美味程度. 输出格式 第一行,方案总数. 第二行至结束,1010 个数,表示每种配料所放的质

(综合)P2089 烤鸡

题解: #include<stdio.h>int n,ret=0,a[10000][10];int p(int c,int s){ int i; for(i=1;i<=3;i++){   s+=i;   if(c==9){     if(s==n){       a[ret][c]=i;       ret++;       return 1;     }else{      s-=i;       continue;     }   }else{     if(p(c+1,s)){ 

洛谷-烤鸡-BOSS战-入门综合练习1

题目背景 Background 猪猪hanke得到了一只鸡 题目描述 Description 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末.孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和   现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案 输入输出格式 Input/output 输入格式:一行,n<=20输出格式:第一行,方案总数第二行至结束,10个数,表示每种配料所

洛谷 P1886 滑动窗口

题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array is [1 3 -1 -3 5 3 6 7], and k = 3. 输入输出格式 输入格式: 输入一共有两行,第一行为n,k. 第二行为n个数(<INT_MAX). 输出格式: 输出共两行,第一行为每次窗口滑动的最小值 第二行为每次窗口滑动的最大值 输入输出样例 输入样例#1: 8 3 1 3 -1 -

【模板】矩阵快速幂 洛谷P2233 [HNOI2002]公交车路线

P2233 [HNOI2002]公交车路线 题目背景 在长沙城新建的环城公路上一共有8个公交站,分别为A.B.C.D.E.F.G.H.公共汽车只能够在相邻的两个公交站之间运行,因此你从某一个公交站到另外一个公交站往往要换几次车,例如从公交站A到公交站D,你就至少需要换3次车. Tiger的方向感极其糟糕,我们知道从公交站A到公交E只需要换4次车就可以到达,可是tiger却总共换了n次车,注意tiger一旦到达公交站E,他不会愚蠢到再去换车.现在希望你计算一下tiger有多少种可能的乘车方案. 题

洛谷P1650赛马与codevs 2181 田忌赛马

洛谷P1650 赛马 题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负者这里取得200银币.每匹马只能用一次.齐王的马好,同等级的马,齐王的总是比田忌的要好一点.于是每次和齐王赛马,田忌总会输600银币. 田忌很沮丧,直到他遇到了著名的军师――孙膑.田忌采用了孙膑的计策之后,三场比赛下来,轻松而优雅地赢了齐王200银币.这实在是个很简单的计策.由于齐王总是先出最好的马

在洛谷3369 Treap模板题 中发现的Splay详解

本题的Splay写法(无指针Splay超详细) 前言 首先来讲...终于调出来了55555...调了整整3天..... 看到大部分大佬都是用指针来实现的Splay.小的只是按照Splay的核心思想和原理来进行的.可能会有不妥之处,还请大佬们指出,谢谢! 那么这个题解存在的意义就是让不会敲Splay的人额...会敲Splay啦... 基本思想 数据结构 对于Splay,我定义了一个class类(当成struct就行啦...个人习惯不同啦),定义名称为“Splay”. 之后在类中,我定义了Splay