儿童节礼物-你能满足孩子们吗

2024-06-01 20:20
文章标签 孩子 满足 礼物 儿童节

本文主要是介绍儿童节礼物-你能满足孩子们吗,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目如下:

儿童节到了,幼儿园里有N个小朋友,每个小朋友都希望得到一份礼物。幼儿园的老师准备了M份不同的礼物,每份礼物都有一个编号,从1到M。老师希望每个小朋友都能得到一份礼物,但是每个小朋友对礼物的喜好不同,老师希望尽可能地满足小朋友的喜好。

每个小朋友对礼物的喜好可以用一个整数数组表示,数组中的每个元素代表一个礼物编号,数组的顺序代表小朋友对礼物的喜好程度,即第一个元素代表最喜欢的礼物,第二个元素代表次喜欢的礼物,以此类推。

老师想知道,是否有可能为每个小朋友分配一份他们最喜欢的礼物,如果可以,输出每个小朋友分配到的礼物编号;如果不可以,输出无法满足所有小朋友的喜好。

输入:

  • 第一行包含两个整数N和M,分别代表小朋友的数量和礼物的总数。
  • 接下来的N行,每行包含M个整数,代表一个小朋友对礼物的喜好列表。

输出:

  • 如果可以满足所有小朋友的喜好,输出N行,每行包含一个整数,代表每个小朋友分配到的礼物编号。
  • 如果无法满足所有小朋友的喜好,输出一行字符串:"无法满足所有小朋友的喜好"。

示例:


输入:
3 5
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2

输出:
1
2
3

怎么样,是不是很简单,来做做吧

下面是c++实现的完整代码:

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;bool canAssignGifts(vector<vector<int>>& preferences, int N, int M) {vector<int> giftAssignment(N, 0);vector<bool> assigned(M, false);for (int i = 0; i < N; ++i) {for (int j = 0; j < M; ++j) {int gift = preferences[i][j];if (!assigned[gift - 1]) {giftAssignment[i] = gift;assigned[gift - 1] = true;break;}}}// 检测for (int i = 0; i < N; ++i) {if (giftAssignment[i] == 0) {return false;}}// 输出for (int gift : giftAssignment) {cout << gift << endl;}return true;
}int main() {int N, M;cin >> N >> M;vector<vector<int>> preferences(N, vector<int>(M));for (int i = 0; i < N; ++i) {for (int j = 0; j < M; ++j) {cin >> preferences[i][j];}}if (!canAssignGifts(preferences, N, M)) {cout << "无法满足所有小朋友的喜好" << endl;}return 0;
}

这篇关于儿童节礼物-你能满足孩子们吗的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022024

相关文章

位运算:带带孩子吧,孩子很强的!

快速进制 在聊到位运算之前,不妨先简单过一遍二进制的东西。熟悉二进制和十进制的快速转换确实是掌握位运算的基础,因为位运算直接在二进制位上进行操作。如果不熟悉二进制表示,很难直观理解位运算的效果。 这里主要涉及二进制和十进制之间的互相转换。 十进制转二进制 十进制转二进制可以使用常见的 除2取余法 进行。每次将十进制除以2并记录所得余数,直到商为0,然后再将记录的余数 从下往上排列即

世界公认十大护眼灯数据出炉!一文看懂孩子用的台灯哪个牌子好

近年来,随着科技的迅猛发展,诸如智能手机、电脑等电子设备在工作、学习及娱乐中的应用日益广泛,人们对这些设备的依赖程度也随之加深。然而,长时间面对屏幕不可避免地给眼睛带来伤害,如眼疲劳、干燥甚至近视等问题。因此,市场对能够缓解眼疲劳的照明产品的需求日益增长。这类护眼照明产品通常采用无频闪、无紫外线辐射等技术,旨在减少对眼睛的潜在危害,有效保护视力健康,并降低眼疾的发生率。随着护眼台灯的不断创新进步,

Leetcode3258. 统计满足 K 约束的子字符串数量 I

Every day a Leetcode 题目来源:3258. 统计满足 K 约束的子字符串数量 I 解法1:暴力 暴力枚举每一个子字符串,看是否满足 k 约束。 代码: /** @lc app=leetcode.cn id=3258 lang=cpp** [3258] 统计满足 K 约束的子字符串数量 I*/// @lc code=startclass Solution{publ

数业智能心大陆告诉你如何培养孩子的批判性思维?

现今的教育体系自小学起便强调培养孩子的批判性思维,这种能力被视为在复杂世界中生存和发展的关键。在当今信息爆炸的时代,它能让我们在海量信息中辨别真伪、深入思考并做出明智决策。如今,如数业智能心大陆产出的AI 心理咨询平台的出现为培养孩子批判性思维提供了新可能,其通过互动引导孩子思考,助力孩子提升批判性思维能力。 什么是批判性思维呢? 批判性思维是一种思考方式,它能够使我们在接收信

JZ62 孩子们的游戏(圆圈中最后剩下的数)

JZ62 孩子们的游戏(圆圈中最后剩下的数) 题目题解(138)讨论(914)排行面经 new 中等  通过率:33.14%  时间限制:1秒  空间限制:256M 知识点基础数学 描述     每年六一儿童节,牛客都会准备一些小礼物和小游戏去看望孤儿院的孩子们。其中,有个游戏是这样的:首先,让 n 个小朋友们围成一个大圈,小朋友们的编号是0~n-1。然后,随机指定一个数 m ,让编号

家有熊孩子

一个家庭中有一个熊孩子,作为父母会焦虑的,同时也是幸运的;孩子成长过程伴随着各种担忧和不安,担心她摔倒,担心她骨折,担心她吃得少,担心她学习,担心她未来。     唯有不断学习,不断探索,相信可以走出一条属于自己家庭的育儿经。

SaaS版海外仓系统能满足仓库使用需求吗?

在现代电商和物流快速发展的背景下,海外仓成为了许多中小型企业实现国际化的重要手段。市场上存在多种海外仓系统可供选择,其中本地部署和SaaS(软件即服务)模式是最为常见的两种类型。 一、什么是SaaS版海外仓系统? SaaS(Software as a Service)是一种云计算服务模型,在这种模式下,用户可以通过互联网访问和使用应用软件。SaaS版海外仓系统完全运行在云端,用户无需购

如何选择合适的合同比对工具以满足企业的不同需求?

企业中的法务、采购等合同经办部门在工作流程中常常要进行不同版本合同之间的比对,包括电子文档间比对,确认不同版本修改的内容;电子文档与用印扫描件比对,规避内容篡改导致的用印风险。企业在合同比对方面的需求场景有很多,如: 1.合同续签与更新:随着业务的发展,原有合同可能需要续签或更新。比对工具能够确保新旧合同之间的变更得到妥善处理。 2.合同标准化:企业可能需要确保所有合同都遵循统一的标准和格式。

【中秋礼物推荐】南卡Runner Pro 5:安全聆听,健康相伴

中秋节,月圆人团圆,是中华民族的传统佳节。在这个寓意着团聚与和谐的节日里,选择一份既实用又贴心的礼物,无疑是表达心意的最佳方式。而南卡Runner Pro 5骨传导耳机,以其独特的设计和卓越的性能,成为了中秋节送礼的不二之选。 南卡Runner Pro 5延续了品牌的简约风格,白色为主色调的盒子给人以清新之感,而侧拉式的开启方式则增加了开箱的乐趣,让人迫不及待想要一探究竟。耳机的设计符合

[a, b]区间内找到一些数满足可以被一个整数c整除

/***************************************************************** 问题描述: 牛牛想在[a, b]区间内找到一些数满足可以被一个整数c整除,现在你需要帮助牛牛统计区间内一共有多少个这样的数满足条件?  输入描述: 首先输入两个整数a,b,(-5*10^8 ≤ a ≤ b ≤ 5*10^8)接着是一个正整数c(1 <=