每日一题 第二十期 洛谷 烤鸡

烤鸡

题目背景

猪猪 Hanke 得到了一只鸡。

题目描述

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

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

输入格式

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

输出格式

第一行,方案总数。

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

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

样例 #1

样例输入 #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 % 100\% 100% 的数据, n ≤ 5000 n \leq 5000 n5000

AC代码:

#include<map>
#include<set>
#include<stack>
#include<cmath>
#include<queue>
#include<string>
#include<bitset>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<numeric>
#define endl '\n'
using namespace std;

typedef long long ll;
typedef pair<int, int>PII;
const int N=3e5+10;
const int MOD=998244353;
const int INF=0X3F3F3F3F;
const int dx[]={-1,1,0,0,-1,-1,+1,+1};
const int dy[]={0,0,-1,1,-1,+1,-1,+1};
const int M = 1e6 + 10;

int n;
int main()
{
	int cnt = 0;
	cin >> n;
	if(n > 30) cout << 0 << endl;
	else {
		for(int i = 1; i <= 3; i ++)
		{
			for(int j = 1; j <= 3; j ++)
			{
				for(int k = 1; k <= 3; k ++)
				{
					for(int q = 1; q <= 3; q ++)
					{
						for(int w = 1; w <= 3; w ++)
						{
							for(int e = 1; e <= 3; e ++)
							{
								for(int r = 1; r <= 3; r ++)
								{
									for(int t = 1; t <= 3; t ++)
									{
										for(int y = 1; y <= 3; y ++)
										{
											for(int u = 1; u <= 3; u ++)
											{
												if(i + j + k + q + w + e + r + t + y + u == n)
												{
													cnt ++;
													//printf("%d %d %d %d %d %d %d %d %d %d\n", i, j, k, q, w, e, r, t, y, u);
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		cout << cnt << endl;
		for(int i = 1; i <= 3; i ++)
		{
			for(int j = 1; j <= 3; j ++)
			{
				for(int k = 1; k <= 3; k ++)
				{
					for(int q = 1; q <= 3; q ++)
					{
						for(int w = 1; w <= 3; w ++)
						{
							for(int e = 1; e <= 3; e ++)
							{
								for(int r = 1; r <= 3; r ++)
								{
									for(int t = 1; t <= 3; t ++)
									{
										for(int y = 1; y <= 3; y ++)
										{
											for(int u = 1; u <= 3; u ++)
											{
												if(i + j + k + q + w + e + r + t + y + u == n)
												{
													printf("%d %d %d %d %d %d %d %d %d %d\n", i, j, k, q, w, e, r, t, y, u);
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	
	return 0;
}

//不懂为啥这种题也算的上普及题

相关推荐

  1. 每日 第二

    2024-03-21 22:06:05       45 阅读
  2. 每日 第二 分数线的划定

    2024-03-21 22:06:05       43 阅读
  3. 每日 第五 统计子矩阵

    2024-03-21 22:06:05       39 阅读
  4. 每日 回文日期

    2024-03-21 22:06:05       37 阅读
  5. 每日 第八 滑动窗口

    2024-03-21 22:06:05       43 阅读
  6. 每日 第五 图的遍历

    2024-03-21 22:06:05       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-21 22:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-21 22:06:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-21 22:06:05       82 阅读
  4. Python语言-面向对象

    2024-03-21 22:06:05       91 阅读

热门阅读

  1. 如何让自己的前端知识更全面

    2024-03-21 22:06:05       38 阅读
  2. DAY6 作业 串口控制三盏灯亮灭

    2024-03-21 22:06:05       40 阅读
  3. 多数据源 - dynamic-datasource | 进阶 - 数据库加密

    2024-03-21 22:06:05       41 阅读
  4. shader学习记录——几何着色器

    2024-03-21 22:06:05       45 阅读
  5. c++简介

    2024-03-21 22:06:05       44 阅读
  6. web高可用集群(lvs负载均衡+keepalved高可用)

    2024-03-21 22:06:05       37 阅读
  7. 算法刷题day32

    2024-03-21 22:06:05       32 阅读
  8. Linux 安装RabbitMQ及RabbitMQ Web界面管理

    2024-03-21 22:06:05       38 阅读
  9. 注解的原理

    2024-03-21 22:06:05       35 阅读