第15次CCF CSP真题解
1、小明上学
题目链接:https://sim.csp.thusaac.com/contest/15/problem/0
本题是模拟红绿灯计时的题,根据红绿灯转换规则可知,红灯后面通常是绿灯,绿灯后面是黄灯,黄灯过后又是红灯。根据题意,当k = 0时,表示小明经过一段道路,此时进行计时操作;当k = 1时,表示小明看到了一个红灯,此时进行计时操作;当k = 2时,表示小明看到了一个黄灯,此时计时操作包括黄灯和红灯的计时;当k = 3时,表示小明看到了一个绿灯,此时可以直接通过,不用进行计时操作。
100分代码:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{int r,y,g;cin >> r >> y >> g; int n;cin >> n;int k[110],t[110];for(int i = 0; i < n; i++){cin >> k[i] >> t[i];}int sum = 0;for(int i = 0; i < n; i++){if(k[i] == 0 || k[i] == 1)sum += t[i];else if(k[i] == 2)sum += t[i] + r;}cout << sum << endl;return 0;
}
评测结果:

2、小明放学
题目链接:https://sim.csp.thusaac.com/contest/15/problem/1
本题难度比第一题增加了不少,小明在放学时已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。当经过一段道路时,进行计时操作即可。当经过红绿灯时,需要考虑红绿灯转换的周期问题,红灯、黄灯和绿灯都亮过后算一个周期,具体的周期转换情况如下图所示:
| 情况1 | |||||||||||
| t | g | y | r | g | y | r | g | y | r | g | y |
| 5 | 30 | 3 | 30 | 30 | 3 | 30 | 30 | 3 | 30 | 30 | 3 |
| 红 | 绿 | 黄 | 红 | 绿 | 黄 | 红 | 绿 | 黄 | 红 | 绿 | 黄 |
| 等待 | 通过 | 等待 | 等待 | 通过 | 等待 | 等待 | 通过 | 等待 | 等待 | 通过 | 等待 |
| 情况2 | |||||||||||
| t | r | g | y | r | g | y | r | g | y | r | g |
| 2 | 30 | 30 | 3 | 30 | 30 | 3 | 30 | 30 | 3 | 30 | 30 |
| 黄 | 红 | 绿 | 黄 | 红 | 绿 | 黄 | 红 | 绿 | 黄 | 红 | 绿 |
| 等待 | 等待 | 通过 | 等待 | 等待 | 通过 | 等待 | 等待 | 通过 | 等待 | 等待 | 通过 |
| 情况3 | |||||||||||
| t | y | r | g | y | r | g | y | r | g | y | r |
| 10 | 3 | 30 | 30 | 3 | 30 | 30 | 3 | 30 | 30 | 3 | 30 |
| 绿 | 黄 | 红 | 绿 | 黄 | 红 | 绿 | 黄 | 红 | 绿 | 黄 | 红 |
| 通过 | 等待 | 等待 | 通过 | 等待 | 等待 | 通过 | 等待 | 等待 | 通过 | 等待 | 等待 |
对于红绿灯周期转换过程中的计时问题,可以运用求模运算解决。
如果不会正解的话,可以根据测试点拿分,前 2 个测试点中不存在任何信号灯,所以只需在经过每一段道路时进行计时操作即可,轻轻松松20分就到手了。
20分代码:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{int r,y,g;cin >> r >> y >> g;int n;cin >> n;int k,t;long long sum = 0;for(int i = 1; i <= n; i++){cin >> k >> t;sum += t; }cout << sum << endl; return 0;
}
评测结果:

100分代码:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{int r,y,g;cin >> r >> y >> g;int n;cin >> n;int k,t;long long sum = 0;for(int i = 1; i <= n; i++){cin >> k >> t;if(k == 0)sum += t; else if(k == 1){if(sum < t + g + y){if(sum % (t + g + y) < t)sum += t - sum % (t + g + y);else if(sum % (t + g + y) >= t && sum % (t + g + y) < t + g)sum += 0;else if(sum % (t + g + y) >= t + g && sum % (t + g + y) < t + g + y)sum += t + g + y + r - sum % (t + g + y); }else if(sum >= t + g + y){if((sum - (t + g + y)) % (r + g + y) < r)sum += r - (sum - (t + g + y)) % (r + g + y);else if((sum - (t + g + y)) % (r + g + y) >= r && (sum - (t + g + y)) % (r + g + y) < r + g)sum += 0;else if((sum - (t + g + y)) % (r + g + y) >= r + g && (sum - (t + g + y)) % (r + g + y) < r + g + y)sum += r + g + y + r - (sum - (t + g + y)) % (r + g + y); }}else if(k == 2){if(sum < t + r + g){if(sum % (t + r + g) < t)sum += t + r - sum;else if(sum % (t + r + g) >= t && sum % (t + r + g) < t + r)sum += t + r - sum % (t + r + g); else if(sum % (t + r + g) >= t + r && sum % (t + r + g) < t + r + g)sum += 0; }else if(sum >= t + r + g){if((sum - (t + r + g)) % (y + r + g) < y + r)sum += y + r - (sum - (t + r + g)) % (y + r + g);else if((sum - (t + r + g)) % (y + r + g) >= y + r && (sum - (t + r + g)) % (y + r + g) < y + r + g)sum += 0; }}else if(k == 3){if(sum < t + y + r){if(sum % (t + y + r) < t)sum += 0;else if(sum % (t + y + r) >= t && sum % (t + y + r) < t + y + r)sum += t + y + r - sum % (t + y + r); }else if(sum >= t + y + r){if((sum - (t + y + r)) % (g + y + r) < g)sum += 0;else if((sum - (t + y + r)) % (g + y + r) >= g && (sum - (t + y + r)) % (g + y + r) < g + y + r)sum += g + y + r - (sum - (t + y + r)) % (g + y + r); }}}cout << sum << endl; return 0;
}
评测结果:

相关文章:
第15次CCF CSP真题解
1、小明上学 题目链接:https://sim.csp.thusaac.com/contest/15/problem/0 本题是模拟红绿灯计时的题,根据红绿灯转换规则可知,红灯后面通常是绿灯,绿灯后面是黄灯,黄灯过后又是红灯。根据题意,当k 0时&…...
STM32硬件平台
STM32 系列是 STMicroelectronics 设计的高度灵活、广泛应用的微控制器(MCU)系列,支持从低功耗应用到高性能处理的需求,适用于工业、汽车、消费电子和物联网等广泛领域。STM32 系列具有广泛的硬件种类和丰富的功能,以下…...
一文讲明白大模型分布式逻辑(从GPU通信原语到Megatron、Deepspeed)
1. 背景介绍 如果你拿到了两台8卡A100的机器(做梦),你的导师让你学习部署并且训练不同尺寸的大模型,并且写一个说明文档。你意识到,你最需要学习的就是关于分布式训练的知识,因为你可是第一次接触这么多卡…...
【人工智能-初级】第6章 决策树和随机森林:浅显易懂的介绍及Python实践
文章目录 一、决策树简介二、决策树的构建原理2.1 决策树的优缺点优点缺点 三、随机森林简介3.1 随机森林的构建过程3.2 随机森林的优缺点优点缺点 四、Python实现决策树和随机森林4.1 导入必要的库4.2 加载数据集并进行预处理4.3 创建决策树模型并进行训练4.4 可视化决策树4.5…...
时间序列预测(九)——门控循环单元网络(GRU)
目录 一、GRU结构 二、GRU核心思想 1、更新门(Update Gate):决定了当前时刻隐藏状态中旧状态和新候选状态的混合比例。 2、重置门(Reset Gate):用于控制前一时刻隐藏状态对当前候选隐藏状态的影响程度。…...
李东生牵手通力股份IPO注册卡关,三年近10亿“清仓式分红”引关注
《港湾商业观察》施子夫 9月27日,通力科技股份有限公司(以下简称,通力股份)再度提交了注册申请,实际上早在去年11月6日公司已经提交过注册,看起来公司注册环节面临卡关。公开信息显示,通力股份…...
Android13、14特殊权限-应用安装权限适配
Android13、14特殊权限-应用安装权限适配 文章目录 Android13、14特殊权限-应用安装权限适配一、前言二、权限适配三、其他1、特殊权限-应用安装权限适配小结2、dumpsys package查看获取到了应用安装权限3、Android权限系统:应用操作管理类AppOpsManager(…...
DMVPN协议
DMVPN(Dynamic Multipoint VPN)动态多点VPN 对于分公司和分总公司内网实现通信环境下,分公司是很多的。我们不可能每个分公司和总公司都挨个建立ipsec隧道 ,而且如果是分公司和分公司建立隧道,就会很麻烦。此时我们需…...
leetcode动态规划(十八)-零钱兑换II
题目 322.零钱兑换II 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬…...
2024 CSP-J 题解
2024 CSP-J题解 扑克牌 题目给出了一整套牌的定义,但是纯粹在扯淡,完全没有必要去判断给出的牌的花色和点数,我们用一个循环来依次读入每一张牌,如果这个牌在之前出现过,我们就让答案减一。这里建议用map、unorde…...
GPU 服务器厂家:中国加速计算服务器市场的前瞻洞察
科技的飞速发展,让 GPU 服务器在加速计算服务器领域的地位愈发凸显。中国加速计算服务器市场正展现出蓬勃的生机,而 GPU 服务器厂家则是这场科技盛宴中的关键角色。 从市场预测的趋势来看,2023 年起,中国加速计算服务器市场便已展…...
Hadoop集群修改yarn队列
1.修改默认的default队列参数 注意: yarn.scheduler.capacity.root.队列名.capacity总和不能超过100 <property><name>yarn.scheduler.capacity.root.queues</name><value>default,hive,spark,flink</value><description>The…...
【GPIO】2.ADC配置错误,还是能得到电压数据
配置ADC功能时,GPIO引脚弄错了,P1写成P2,但还是配置成功,能得到电压数据。 首先一步步排查: 既然引脚弄错了,那引脚改为正确的引脚,能得到数据通过第一步判断,GPIO配置似乎是不起作…...
css-元素居中方式
<section class"wrapper"><div class"content">Content goes here</div> </section>1. 使用 Flexbox Flexbox 是一种现代的布局方法,可以轻松实现居中。 .wrapper {display: flex; /* 使用 Flexbox …...
redis内存打满了怎么办?
1、设置maxmemory的大小 我们需要给 Redis设置maxmemory的大小,如果不设置的话,它会受限于系统的物理内存和系统对内存的管理机制。 2、设置内存的淘汰策略 内存的淘汰策略分为 8 种,从淘汰范围来说分为从所有的key中淘汰和从设置过期时间…...
决策算法的技术分析
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言(1)第一层级:分层状态机、分层决策树的想法(三个臭皮匠胜过一个诸葛亮)基于场景的固定规则化的分层决策核心思想(2)第二层级:数据管理的方…...
【Python爬虫】获取汽车之家车型配置附代码(2024.10)
参考大哥,感谢大哥:https://blog.csdn.net/weixin_43498642/article/details/136896338 【任务目标】 工作需要想更方便地下载汽车之家某车系配置清单;(垃圾汽车之家不给下载导出表格,配置页叉掉了车系要出来还要重新…...
JVM 加载 class 文件的原理机制
JVM 加载 class 文件的原理机制 JVM(Java虚拟机)是一个可以执行Java字节码的虚拟机。它负责执行Java应用程序和应用程序的扩展,如Java库和框架。 文章目录 JVM 加载 class 文件的原理机制1. JVM1.1 类加载器1.2 魔数1.3 元空间 2. 类加载2.1 …...
NumPy学习第九课:字符串相关函数
前言 各位有没有注意到,NumPy从第八课开始其实基本上都是讲的是NumPy的函数,而且其实就是各种函数的调用,因为NumPy是一个很强大的函数库,这对我们以后再处理项目中遇到的问题时会有很大的帮助。我们将常用的函数进行一个列举&am…...
卷积神经网络(CNNs)在处理光谱特征的序列属性时表现不佳
卷积神经网络(CNNs)在处理光谱签名的序列属性时表现不佳,主要是由于其固有网络架构的局限性。具体原因如下: 局部感受野(Local Receptive Field): CNN 的核心操作是卷积,它利用局部感…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
