CCF-CSP 202312-1 仓库规划(Java、C++、Python)

2024-01-31 10:44

本文主要是介绍CCF-CSP 202312-1 仓库规划(Java、C++、Python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 仓库规划
    • 问题描述
    • 输入格式
    • 输出格式
    • 样例输入
    • 样例输出
    • 子任务
  • 满分代码
    • Java
    • C++
    • Python

仓库规划

问题描述

西西艾弗岛上共有 n n n 个仓库, 依次编号为 1 ⋯ n 1 \cdots n 1n 。每个仓库均有一个 m m m 维向量的位置编码, 用来表示仓库间的物流运转关系。

具体来说, 每个仓库 i i i 均可能有一个上级仓库 j j j, 满足: 仓库 j j j 位置编码的每一维均大于仓库 i i i 位置编码的对应元素。比如编码为 ( 1 , 1 , 1 ) (1,1,1) (1,1,1) 的仓库可以成为 ( 0 , 0 , 0 ) (0,0,0) (0,0,0) 的上级, 但不能成为 ( 0 , 1 , 0 ) (0,1,0) (0,1,0) 的上级。如果有多个仓库均满足该要求, 则选取其中编号最小的仓库作为仓库 i i i 的上级仓库; 如果没有仓库满足条件, 则说明仓库 i i i 是一个物流中心, 没有上级仓库。

现给定 n n n 个仓库的位置编码, 试计算每个仓库的上级仓库编号。

输入格式

从标准输入读入数据。

输入共 n + 1 n+1 n+1 行。

输入的第一行包含两个正整数 n n n m m m, 分别表示仓库个数和位置编码的维数。

接下来 n n n 行依次输入 n n n 个仓库的位置编码。其中第 i i i ( 1 ≤ i ≤ n ) (1 \leq i \leq n) (1in) 包含 m m m 个整数, 表示仓库 i i i 的位置编码。

输出格式

输出到标准输出。

输出共 n n n 行。

i i i ( 1 ≤ i ≤ n ) (1 \leq i \leq n) (1in) 输出一个整数, 表示仓库 i i i 的上级仓库编号; 如果仓库 i i i 没有上级, 则第 i i i 行输出 0 。

样例输入

4 2
0 0
-1 -1
1 2
0 -1

样例输出

3
1
0
3

样例解释对于仓库 2 : ( − 1 , − 1 ) 2:(-1,-1) 2:(1,1) 来说,仓库 1 : ( 0 , 0 ) 1:(0,0) 1:(0,0) 和仓库 3 : ( 1 , 2 ) 3:(1,2) 3:(1,2) 均满足上级仓库的编码要求,因此选择编号较小的仓库 1 作为其上级。

子任务

50 % 50\% 50% 的测试数据满足 m = 2 m=2 m=2

全部的测试数据满足 0 < m ≤ 10 、 0 < n ≤ 1000 0<m\leq10、0<n\leq1000 0<m100<n1000,且位置编码中的所有元素均为绝对值不大于 1 0 6 10^{6} 106 的案数。

满分代码

三层循环暴力求解就行了

在这里插入图片描述

Java

import java.io.*;public class Main {static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));static QuickInput in = new QuickInput();public static void main(String[] args) throws IOException {int n = in.nextInt(), m = in.nextInt();int[][] a = new int[n][m];for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {a[i][j] = in.nextInt();}}for (int i = 0; i < n; i++) {int flag = 0;for (int j = 0; j < n; j++) {flag = 1;for (int k = 0; k < m; k++) {if (a[j][k] <= a[i][k]) {flag = 0;break;}}if (flag == 1) {out.println(j + 1);break;}}if (flag == 0) {out.println(0);}}out.flush();}static class QuickInput {StreamTokenizer input = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));int nextInt() throws IOException {input.nextToken();return (int) input.nval;}}
}

C++

#include<bits/stdc++.h>
using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(0);int n, m;cin >> n >> m;vector<vector<int>> a(n, vector<int>(m));for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> a[i][j];}}for (int i = 0; i < n; i++) {bool flag;for (int j = 0; j < n; j++) {flag = true;for (int k = 0; k < m; k++) {if (a[j][k] <= a[i][k]) {flag = false;break;}}if (flag) {cout << j + 1 << endl;break;}}if (!flag) cout << 0 << endl;}return 0;
}

Python

n, m = map(int, input().split())
a = [[int(e) for e in input().split()] for _ in range(n)]for i, row in enumerate(a):for j, compare_row in enumerate(a):if all(compare_row[k] > row[k] for k in range(m)):print(j + 1)breakelse:print(0)

这篇关于CCF-CSP 202312-1 仓库规划(Java、C++、Python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring