P5594 【XR-4】模拟赛————C++、Python

news2024/11/24 0:13:09

目录

  • 题目
  • 【XR-4】模拟赛
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 样例 #2
      • 样例输入 #2
      • 样例输出 #2
    • 样例 #3
      • 样例输入 #3
      • 样例输出 #3
    • 提示
  • 解题思路
  • C++的Code
  • 运行结果
  • Python的代码
  • 运行结果

题目

【XR-4】模拟赛

题目描述

X 校正在进行 CSP 前的校内集训。

一共有 n n n 名 OIer 参与这次集训,教练为他们精心准备了 m m m 套模拟赛题。

然而,每名 OIer 都有各自的时间安排,巧合的是,他们在接下来的 k k k 天中都恰好有 m m m 天有空打模拟赛。

为了方便管理,教练规定一个人必须按顺序打完 m m m 套模拟赛题。

比如,小 X 在接下来的第 2 , 3 , 5 2,3,5 2,3,5 天有空打模拟赛,那么他就必须在第 2 2 2 天打第 1 1 1 套模拟赛题,第 3 3 3 天打第 2 2 2 套模拟赛题,第 5 5 5 天打第 3 3 3 套模拟赛题。

教练需要为每一个人的每一次模拟赛做准备,为了减小工作量,如果在某一天有多个人打同一套模拟赛题,那么教练只需要在这一天准备一场使用这一套题的模拟赛即可。

你作为机房大佬,教练想请你帮他计算一下,他每天需要准备多少场模拟赛。

输入格式

第一行三个整数 n , m , k n,m,k n,m,k

接下来 n n n 行,每行 m m m 个整数,第 i i i 行第 j j j 列的整数 a i , j a_{i,j} ai,j 表示第 i i i 个人在接下来的 k k k 天中第 j j j 个有空的日子为第 a i , j a_{i,j} ai,j 天。

输出格式

一行 k k k 个整数,第 i i i 个整数表示接下来的第 i i i 天教练需要准备的模拟赛场数。

样例 #1

样例输入 #1

1 3 5
2 3 5

样例输出 #1

0 1 1 0 1

样例 #2

样例输入 #2

6 3 7
2 3 4
2 5 7
3 5 7
1 3 5
5 6 7
1 2 3

样例输出 #2

1 2 3 1 3 1 1

样例 #3

样例输入 #3

10 10 20
2 3 4 8 9 11 12 16 17 18
2 3 6 10 12 13 14 15 19 20
1 3 7 10 11 13 14 15 17 19
1 2 4 6 7 9 15 17 19 20
2 3 5 6 9 11 14 16 19 20
1 2 3 8 9 10 11 12 15 19
1 4 6 7 9 12 13 17 18 19
1 7 8 9 10 11 13 15 18 20
1 5 6 7 8 9 13 16 18 19
4 5 7 10 11 13 14 17 18 20

样例输出 #3

1 2 2 3 2 2 4 3 3 3 3 4 2 1 3 1 2 2 2 1

提示

本题采用捆绑测试。

  • Subtask 1(13 points): n = m = k = 1 n = m = k = 1 n=m=k=1
  • Subtask 2(24 points): n = 1 n = 1 n=1
  • Subtask 3(24 points): m = 1 m = 1 m=1
  • Subtask 4(39 points):无特殊限制。

对于 100 % 100\% 100% 的数据, 1 ≤ n , m , k ≤ 1 0 3 1 \le n,m,k \le 10^3 1n,m,k103 m ≤ k m \le k mk 1 ≤ a i , 1 < a i , 2 < ⋯ < a i , m ≤ k 1 \le a_{i,1} < a_{i,2} < \cdots < a_{i,m} \le k 1ai,1<ai,2<<ai,mk

解题思路

  • 观察题目,转换一下题目。
  • 把每一列作为一个数组,遍历每一列,某一个数字在所有列中出现过的次数(一列出现多次记为1次)为x,那么对应天数的答案就是x。

C++的Code

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	int n, m, k;
	cin >> n >> m >> k;
	vector<vector<int>> nums; // 初始化二维数组
	vector <int> nums0;
	vector<vector<int>> days(k, vector<int>(m, 0)); // 记录每天需要比赛的次数
	// 输入数据
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			int tmp;
			cin >> tmp;
			nums0.push_back(tmp); // 存储每一行的数据
		}
		nums.push_back(nums0);
		nums0.clear(); // 清空数组
	}


	// 进行每天比赛的次数的数组的赋值, 模拟, 把nums每一列的对应的元素的位置赋值为1.
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < n; j++) {
			days[nums[j][i] - 1][i] = 1;
		}
	}
	// 进行数据的输出
	for (int i = 0; i < k; i++) {
		cout << count(days[i].begin(), days[i].end(), 1) << " ";
	}
	cout << endl;
	return 0;
}

运行结果

Python的代码

n, m, k = map(int, input().split(" "))
nums = []
days = [[0 for _ in range(m)] for _ in range(k)]
# days = [[0 for _ in range(k)] for _ in range(m)]

for i in range(n):
    nums.append(list(map(int, input().strip().split(" "))))

for i in range(m):
    for j in range(n):
        days[nums[j][i] - 1][i] = 1

for i in range(k):
    print(sum(days[i]), end= " ")


运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能算法模型--Minimax(极大极小)搜索算法学习笔记

⬜⬜⬜ &#x1f430;&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; (*^▽^*)欢迎光临 &#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;&#x1f430;⬜⬜⬜ ✏️write in front✏️ &#x1f4dd;个人主页&#xff1a;陈丹宇jmu &a…

基于MicroPython的ESP32在OLED上实时刷新温湿度

基于MicroPython的ESP32用起来后&#xff0c;做些小扩展功能&#xff1a; 1、通过DHT11获取温湿度&#xff1b; 2、将获取的温湿度显示在OLED上&#xff1b;并通过定时器&#xff0c;定时刷新&#xff1b; 3、OLED可显示中文&#xff1b; 一、DHT11获取温湿度 这个比较简单&a…

Java泛型详细内容讲解

1.什么是泛型 1.1背景&#xff1a; JAVA推出泛型以前&#xff0c;程序员可以构建一个元素类型为Object的集合&#xff0c;该集合能够存储任意的数据类型对象&#xff0c;而在使用该集合的过程中&#xff0c;需要程序员明确知道存储每个元素的数据类型&#xff0c;否则很容易引…

mysql中的实现字段或字符串拼接的三种方式

一、CONCAT函数concat函数是将多个字段或字符串拼接为一个字符串&#xff1b;但是字符串之间没有任何分隔。concat函数官方介绍-- CONCAT函数的语法如下&#xff1a; CONCAT(str1,str2,...)1.1、拼接非空字段或字符串SELECT CONCAT(字段1,字段2,字段3,...) from 表名;-- 拼接表…

C#构建Web服务项目实战(一)

概述本文通过VS2017&#xff0c;利用C#语言构建一个Web应用项目&#xff08;旧的ASP.NETWeb应用&#xff0c;非微软最新的.NETCore&#xff09;&#xff0c;并演示了如何利用Windows的IIS服务发布项目&#xff08;网站&#xff09;&#xff0c;以及在发布项目&#xff08;允许用…

C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计(三)

C语言及算法设计课程实验三&#xff1a;最简单的C程序设计——顺序程序设计&#xff08;三&#xff09;一、实验目的二、 实验内容2.3、计算存款利息三、 实验步骤3.3、顺序程序设计实验题目3&#xff1a;计算存款利息的实验步骤3.3.1、变量的声明3.3.2、变量的赋值3.3.3、计算…

递归分治时间复杂度主定理法

记录一下以前博客的证明过程&#xff0c;补充一下之前的结论 在算法导论中lgn一般指2为底的对数n&#xff0c;特此说明 以前写的博客记录了一下分治递归时间复杂度的结论&#xff0c;发现少了一个正则条件&#xff0c;而且也不覆盖所有的一般情况 https://blog.csdn.net/qq_1…

乌鸦安全2022年度文章合集

说明 乌鸦安全2022年精选原创文章合集&#xff0c;基本上大部分都是原创&#xff0c;当然还有一部分文章由其他师傅投稿提供&#xff0c;在此感谢各位师傅的投稿和帮助&#xff01; 乌鸦安全2021年度文章合集 你可以在这里找到我&#xff1a; GitHub&#xff1a;https://gi…

开源的工作流都有哪些特征?

开源的工作流是什么&#xff1f;都有什么样的特征和优势特点&#xff1f;众所周知&#xff0c;随着现代化办公管理的兴起&#xff0c;工作效率高的低代码开发平台涌上前线&#xff0c;成为很多企业实现数字化转型和做好数据管理的重要系统。这篇文章主要是围绕开源的工作流方面…

记一次2022某地HVV中的逆向分析

声明&#xff1a;本文仅限于技术讨论与分享&#xff0c;严禁用于非法途径。若读者因此作出任何危害网络安全行为后果自负&#xff0c;与本号及原作者无关。 前言 事情是这样的&#xff0c;国庆前期某地HVV&#xff0c;所以接到了客户通知他们收到了钓鱼邮件想要溯源 直接下载…

云视频会议系统私有化实践

点击上方“LiveVideoStack”关注我们▲扫描图中二维码或点击阅读原文▲了解音视频技术大会更多信息编者按&#xff1a;云视频会议系统支持多服务器动态集群部署&#xff0c;并提供多台高性能服务器&#xff0c;大大提升了会议稳定性、安全性、可用性。视频会议为用户大幅提高沟…

(Java高级教程)第三章Java网络编程-第一节2:网络编程必备网络知识2之网络协议分层

文章目录一&#xff1a;生活中的协议分层&#xff08;1&#xff09;生活中的分层1——汉堡包&#xff08;2&#xff09;生活中的分层2——打电话二&#xff1a;网络分层&#xff08;1&#xff09;OSI七层模型&#xff08;2&#xff09;TCP/IP分层模型三&#xff1a;OSI参考模型…

前端基础(六)_流程控制语句(if、if-else、if-else嵌套、switch)

流程控制语句主要分为 : 顺序结构&#xff1a;即按顺序执行代码 ;条件选择结构 ( 分支语句 )&#xff1a;包括 if-else 以及 switch;循环结构&#xff1a;包括 for循环&#xff0c;while&#xff0c;do-while,for-in 等;其他语句&#xff1a; break 和continue。 一、流程控制…

Java学习(23)Java一维数组概述

什么是数组 数组是相同类型的数据按顺序组成的一种引用数据类型。 数据类型分为基本数据类型和引用数据类型&#xff0c;引用数据类型分为类、接口、数组。要学习的内容 一维数组的声明、创建、初始化、元素的引用、长度。数组声明 语法格式&#xff1a; 数据类型[] 数组名; 数…

卡尔曼滤波原理公式详细推导过程[包括引出]

卡尔曼滤波在很多项目中都有用到&#xff0c;但是对于原理却很少有详细分析&#xff0c;而只是直接应用&#xff0c;在看完b站up主DR_CAN视频推导后自行推导一遍和查看其他资料后进行总结&#xff0c;将从最初的递归算法&#xff0c;利用数据融合&#xff0c;协方差矩阵&#x…

[vp] 2021 山东省赛 CDGHM

目录前言G. Grade Point Average ( 难度有先后)M. Matrix ProblemH. Adventurers GuildD.Dyson BoxC. Cat Virus前言 打满 2个小时30分钟 基本都在做题 体验非常好 传送门 : https://codeforces.com/gym/103118 G. Grade Point Average ( 难度有先后) 题意 : 让你求sum/ns…

UG/NX二开Siemens官方实例解析 4.4 EX_Curve_ProjCurves(创建投影曲线)

前言 本系列文章主要讲解NXOpen UF API&#xff08;简称ufun函数&#xff09;的使用&#xff0c;之前看教学视频大都建议用ufun进行开发&#xff0c;这里西门子官方还专门给了一套系列文章来讲&#xff0c;说明官方也是特别推崇ufun。 本人从事二开也有一段时间了&#xff0c;我…

干货 | 测试人职场晋升“潜规则”:15 年经验资深测试经理的职场忠告

大家好&#xff0c;我是云胖虎&#xff0c;有近 15 年工作经验&#xff0c;在测试专业上擅长的方向是自动化测试&#xff0c;测试工具平台开发和探索测试相关的一些领域&#xff0c;也拿到过项目管理和敏捷教练的认证&#xff0c;目前是在某知名金融银行企业担任技术经理。今天…

dataworks调度问题

文章目录名词解释月调度关于空跑名词解释 业务日期 定时日期 - 1 自定义参数示例&#xff1a; 月调度 调度详情&#xff1a; 重要 使用补数据功能对月调度任务执行补数据操作时&#xff0c;请注意补数据选择的为业务日期 &#xff0c;业务日期定时调度日期-1。 例如&#xf…

初始C++(一)

文章目录前言cout的用法cin的用法endl的用法一.命名空间1.:: (域作用限定符)2.命名空间定义3.命名空间的使用4.命名空间的一些其它使用5.全局展开6.部分展开二.缺省参数2.1全缺省2.2半缺省前言 既然这篇文章叫初始C&#xff0c;看我文章的应该和我一样&#xff0c;基本是个小白…