【算法】2022第五届“传智杯”全国大学生计算机大赛(练习赛)

news/2024/4/28 14:23:20/文章来源:https://blog.csdn.net/Jruo911/article/details/128050964

【参考:第五届“传智杯”全国大学生计算机大赛(练习赛) - 洛谷 | 计算机科学教育新生态】

练习赛满分程序(多语言):https://www.luogu.com.cn/paste/fi60s4yu

CPU一秒大概运行 10810^8108 次,题目一般限时1000ms,自己计算时间复杂度吧!

B:时钟

【参考:T292112 [传智杯 #5 练习赛] 时钟 - 洛谷 | 计算机科学教育新生态】
在这里插入图片描述

先计算一天的好时刻

import java.util.Scanner;class Main {public static void main(String[] args) {// Main main = new Main();Scanner scanner = new Scanner(System.in);// 计算一天的好时刻 0:00-23:59int result = 0;int n = 1440; // 一天有1440分钟for (int h = 0; h < 24; h++) {for (int m = 0; m < 60; m++) {// h1h2:m1m2int h1 = h / 10; // 小时的第一位int h2 = h % 10; // 小时的第二位,下同int m1 = m / 10;int m2 = m % 10;// 判断等差if (h >= 10 && h2 - h1 == m1 - h2 && m1 - h2 == m2 - m1) {result++;System.out.printf("%d%d:%d%d\n", h1, h2, m1, m2);}if (h <= 9 && m1 - h2 == m2 - m1) {result++;System.out.printf("%d%d:%d%d\n", h1, h2, m1, m2);}n--;// 过去一分钟if (n < 0) // 遍历完了break;}}System.out.println(result);}}
00:00
00:12
00:24
00:36
00:48
01:11
01:23
01:35
01:47
01:59
02:10
02:22
02:34
02:46
02:58
03:21
03:33
03:45
03:57
04:20
04:32
04:44
04:56
05:31
05:43
05:55
06:30
06:42
06:54
07:41
07:53
08:40
08:52
09:51
11:11
12:34
13:57
22:22
23:45
39

最后答案

import java.util.Scanner;class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int day = n / 1440;n %= 1440; // 还剩多少分钟int result = day * 39;for (int h = 0; h < 24; h++) {for (int m = 0; m < 60; m++) {// h1h2:m1m2int h1 = h / 10; // 小时的第一位int h2 = h % 10; // 小时的第二位,下同int m1 = m / 10;int m2 = m % 10;// 判断等差if (h >= 10 && h2 - h1 == m1 - h2 && m1 - h2 == m2 - m1) {result++;// System.out.printf("%d%d:%d%d\n", h1, h2, m1, m2);}if (h <= 9 && m1 - h2 == m2 - m1) {result++;// System.out.printf("%d%d:%d%d\n", h1, h2, m1, m2);}n--;// 过去一分钟if (n < 0) // 遍历完了break;}}System.out.println(result);}}

C:平等的交易

【参考:T292113 [传智杯 #5 练习赛] 平等的交易 - 洛谷 | 计算机科学教育新生态】

贪心

只买一次,无限次交换
为了尽可能的交换,那就尽可能先买最贵的,然后交换价值最低的物品
在这里插入图片描述

需使用快读模板

import java.io.*;
import java.util.*;class Main {public static void main(String[] args) throws IOException {// 快速读取 int double long (char不行)StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));in.nextToken();int n = (int) in.nval;int[] a = new int[n];for (int i = 0; i < n; i++) {in.nextToken();a[i] = (int) in.nval;}in.nextToken();int w = (int) in.nval;int result = 0;Arrays.sort(a);int k = 0; // 买的物品的价值// 尽可能买最贵的那个for (int i = n - 1; i >= 0; i--) {if (w >= a[i]) {k = a[i];break;}}for (int i = 0; i < n; i++) {if (k <= 0)break;if (k >= a[i]) {result++;k -= a[i];}}System.out.println(result);}
}

D:清洁工

【参考:T292114 [传智杯 #5 练习赛] 清洁工 - 洛谷 | 计算机科学教育新生态】

思路:由于题目给的数据范围比较小,直接暴力即可。只要坐标不是被走到的那一个,灰尘就可以直接加1, 如果是被走到的点,灰尘数不变并将记录的灰尘累计单位清零。最后按照题目要求的格式输出每个坐标的灰尘数即可。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int n, m, x, y;n = input.nextInt();m = input.nextInt();x = input.nextInt();y = input.nextInt();String S = input.next();char[] cArr = S.toCharArray();int num = (m * (1 + m)) / 2;int[][] arr = new int[n + 1][n + 1]; // 计算格子上的灰的数量int[][] arr2 = new int[n + 1][n + 1]; // 存储格子上的灰的增量,默认初始为0int t = 1; // 移动次数for (char c : cArr) {if (t > m)break;arr2[x][y] = 0; // 经过当前格子,有人经过时不会落灰但灰也不会清零for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (i != x || j != y) {arr2[i][j]++; // 落灰arr[i][j] += arr2[i][j]; // 加上落灰的量}}}if (c == 'N')y += 1;else if (c == 'S')y -= 1;else if (c == 'W')x -= 1;elsex += 1;t++;}// 输出每一个位置上落下的灰的量// 第 i 行的第 j 个数表示坐标 (j,n-i+1)上的灰的数量for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {System.out.print(arr[j][n - i + 1] + " ");}System.out.println();}}
}

E:树的变迁

【参考:T292115 [传智杯 #5 练习赛] 树的变迁 - 洛谷 | 计算机科学教育新生态】


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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASEMI肖特基二极管MBR40200PT参数,MBR40200PT规格

编辑-Z ASEMI肖特基二极管MBR40200PT参数&#xff1a; 型号&#xff1a;MBR40200PT 最大重复峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;200V 最大平均正向整流输出电流&#xff08;IF&#xff09;&#xff1a;40A 峰值正向浪涌电流&#xff08;IFSM&#xff0…

imx6ull pro BSP 工具链

BSP&#xff0c;Board Support Package&#xff0c;指板级支持包&#xff0c;是构建嵌入式操作系统所 需的引导程序(Bootload)、内核(Kernel)、根文件系统(Rootfs)和工具链 (Toolchain)。 每种开发板的 BSP 都不一样&#xff0c;并且这些源码都非常庞大。我们把这些源码都 放在…

自动化运维CICD

目录 概述 为什么持续集成和发布可以提高效率 如何实现 1、在linux服务器安装部署代码仓库 2、安装jenkins 使用shell脚本实现CICD 使用pipeline实现CICD 使用Blue Ocean实现CICD 概述 持续集成&#xff08;Continuous Integration&#xff0c;CI)和持续发布&#xff0…

二、进程管理(四)经典同步互斥问题

目录 4.1生产者-消费者问题 4.1.1单类生产者-单类消费者问题 4.1.2多类生产者-多类消费者问题 4.1.3吸烟者问题 4.2读者-写者问题 4.3哲学家进餐问题 分析进程同步和互斥问题的三步&#xff1a; 关系分析&#xff1a;分析问题中的同步&#xff08;前驱关系&#xff09;、…

【网络】tcpdump、Wireshark 案例超详细介绍

文章目录网络分层应用层找到服务器的 IP查接口、对象的耗时删除指定网站的Cookie表示层、会话层tcpdump、wireshard传输层telnet: 路径可达性测试nc: 路径可达性测试netstat&#xff1a;查看当前连接状态iftop&#xff1a;查看当前连接的传输速率netstat -s: 查看丢包和乱序的统…

数据结构(5)树形结构——二叉搜索树(JAVA代码实现)

5.1.概述 二叉搜索树&#xff0c;也叫二叉查找树、二叉排序树&#xff0c;顾名思义&#xff0c;这种二叉树是专门用来进行数据查找的二叉树。二叉搜索树的查找其实就是二分查找。 二叉搜索树的定义&#xff1a; 二叉搜索树可以为空如果二叉搜索树不为空&#xff0c;那么每个…

Visual C++ 2010开发的程序在其它电脑上运行提示“找不到MSVCR100D.dll”原因及解决

Visual C 2010开发的程序在其它电脑上运行提示“找不到MSVCR100D.dll”原因及解决 Microsoft Visual C&#xff08;简称Visual C、MSVC、VS或VC&#xff09;2010是微软公司的免费C开发工具&#xff0c;具有集成开发环境&#xff0c;可提供编辑C语言&#xff0c;C以及C/CLI等编程…

Java项目:JSP手机商城管理系统包含前台

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台&#xff0c;分为管理员与普通用户两种角色&#xff0c;管理员登录后台&#xff0c;普通用户登录前台&#xff1b; 管理员角色…

大数据_什么是数据中台?

目录 一、数据中台的定义 二、数据中台必备的是个核心能力 三、数据中台VS业务中台 四、数据中台VS数据仓库 五、数据中台VS现有信息架构 六、数据中台的业务价值与技术价值 一、数据中台的定义 数据中台是一套可持续“让企业的数据用起来”的机制&#xff0c;是一种战略…

[附源码]计算机毕业设计JAVA人力资源管理系统论文2022

[附源码]计算机毕业设计JAVA人力资源管理系统论文2022 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM…

第8章 综合案例—构建DVD租赁商店数据仓库

目录 章节概要 案例背景介绍 数据仓库的架构模型 数据仓库的架构模型 数据库sakila的下载和安装 数据库sakila简介 数据库sakila中 数据表之间的关系 数据表简介 用于储存电影基本信息及相关介绍的数据&#xff0c;该数据表各个字段的含义如表。 用于储存定义电影id所…

Kafka生产者之分区

一、分区好处 &#xff08;1&#xff09;便于合理使用存储资源&#xff0c;每个Partition在一个Broker上存储&#xff0c;可以把海量的数据按照分区切割成一块一块数据存储在多台Broker上。合理控制分区的任务&#xff0c;可以实现负载均衡的效果&#xff1b; &#xff08;2&…

惊喜:2023前瞻版Java面试指南,不止八股文

前言&#xff1a; 2022年马上就要过去了&#xff0c;即将要到来的就是2023年的金三银四面试季&#xff0c;随着政策的放宽&#xff0c;经济的逐步复苏&#xff0c;岗位的需求也会越来越大&#xff0c;所以趁这段时间进行知识储备将会是最好的时间段&#xff0c;永远要做快人一…

智能疾病查询接口

一、接口介绍 最全的疾病大全&#xff0c;收集了数万种常见疾病&#xff0c;任何常见疾病都可查询。 二、功能体验 三、API文档 3.1 查询疾病科目 3.1.1接入点说明 查询疾病的类别。 3.1.2接口地址 http[s]&#x1f615;/www.idmayi.com/546-1?idmayi_appid替换自己的值&…

APP逆向案例之(二)对加固APP进行分析和破解

说明&#xff1a;对加固APP进行分析和破解&#xff0c;对发现新版本提示关掉 1、先对APP窗口类行进HOOK&#xff0c;确定窗口提示用的是那个类。 android hooking watch class android.app.AlertDialog 2、发现一个非常明显的函数 setCancelable objection -g com.hello.qq…

【ML特征工程】第 4 章 :特征缩放的影响:从词袋到 Tf-Idf

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

工作中常用的设计模式--策略模式

一般做业务开发&#xff0c;不太容易有大量使用设计模式的场景。这里总结一下在业务开发中使用较为频繁的设计模式。当然语言为Java&#xff0c;基于Spring框架。 1 策略模式(Strategy Pattern) 一个类的行为或方法&#xff0c;在运行时可以根据条件的不同&#xff0c;有不同的…

(C语言)printf打印的字符串太长了,我想分两行!

本文来自于公众号&#xff1a;C语言编程技术分享 一、提问 有下述C程序&#xff1a; #include <stdio.h> #include <stdlib.h>int main() { printf("123456789012345678901234567890\n");system("pause");return 0; } printf函数要打印的字…

B. Elimination of a Ring Pinely Round 1 (Div. 1 + Div. 2)

传送门 题目意思&#xff1a; 给你一个为环的序列n&#xff0c;这个序列有一个特殊的地方&#xff1a;就是如果有相邻元素相等他就会立马删除其中一个元素&#xff08;第一个和最后一个相邻&#xff09;。 然后你每次可以删除一个元素&#xff0c;问你能删除的最多的操作数是多…

想做副业没有方向,这三条告诉你什么是副业思维

怎样副业赚钱&#xff1f;教你几招&#xff0c;掌控自己的固有思维 你了解钱是怎么来的吗&#xff1f;你如果弄不懂这一点&#xff0c;你也是很难赚到钱的。 钱不是苦的&#xff0c;辛苦努力挣的基本都是一点钱。 假如将你的工作时长换为钱&#xff0c;你可以清晰地赚多少钱…