蓝桥杯算法训练合集十五 1.打翻的闹钟2.智斗锅鸡3.文件列表
目录
1.打翻的闹钟
2.智斗锅鸡
3.文件列表
1.打翻的闹钟
问题描述
冯迭伊曼晚上刷吉米多维奇刷的太勤奋了,几乎天天迟到。崔神为了让VonDieEman改掉迟到的坏毛病,给他买了个闹钟。
一天早上,老冯被闹钟吵醒,他随手将闹钟按掉丢到一边。不过他突然想起今天还要虐微积分,于是瞅了一眼闹钟:
这个闹钟上只有时针和分针。上面还没数字(崔神:……),只有12个刻度,每30°一个刻度。时针如果恰好指向某个刻度i,则说明这时恰好是i点整(或i+12点整)。因此只有在00:00或12:00时,时针和分针才会指向同一个刻度:刻度0。
但是老冯的闹钟被打翻了,他分不出哪根刻度是刻度0,因此他也不知道现在是几点。于是他随便指定了一根刻度当刻度0,读了一下时间,结果(你懂的)……但是他可以通过测量,得到时针、分针与他指定刻度之间的角度大小(顺时针)。
老冯随便把一根刻度当做刻度0,然后他量得时针的角度为70°,分针的角度为300°,然后他读了一下时间。2:50??这比例不对啊。最后老冯终于将闹钟翻回了正确的位置:原来是8:20。哈哈,老冯你不用挣扎了,又迟到了。
老冯想知道,如果知道某刻度当刻度0后时针、分针的角度,能否算出正确的时间?如果能,或存在多解,那么当前时间最早是什么时候?
输入格式
第一行一个整数T,表示数据组数。
接下来T行,每行两个整数H、M,分别表示老冯量出的时针、分针的角度。
输出格式
输出T行,每行一个字符串。
如果存在解,输出HH:MM,表示最早的时间(比如09:11表示9点11分);否则输出“orz VonDieEman”(不含引号)。
样例输入
5
70 300
90 120
240 36
19 19
10 12
样例输出
08:20
11:00
orz VonDieEman
orz VonDieEman
orz VonDieEman
样例解释
果断不解释。
数据规模
70%的数据,T≤5,不存在无解情况。
100%的数据,T≤100,0≤H,M<360。
示例代码
#include<iostream>
using namespace std;int main() {int T,hour,minute;cin >> T;for (int i = 0; i < T; i++) {cin >> hour >> minute;int temp1 = hour % 30;temp1 = temp1 * 2;//分int temp2 = temp1 * 6;//分钟所占的度数//找零刻度线int temp3;if (minute > temp2) {//在左边temp3 = (minute - temp2) % 360;}else {temp3 = minute - temp2+360;}if (temp3 % 30 != 0) {//如果刻度线不在针上cout << "orz VonDieEman" << endl;continue;}int temp4;if (temp3 > hour) {temp4 = 360 - (temp3 - hour);}else {temp4 = hour - temp3;}temp4 = temp4 / 30;if (temp4 < 10) {cout << '0';}cout << temp4 << ':';if (temp1 < 10) {cout << '0';}cout << temp1 << endl;}return 0;
}
2.智斗锅鸡
问题描述
郭鸡是数学系里一个智商很低却十分好胜的同学。
自从他在“a+b problem”这道题里AC以后,他便觉得自己比贵系同学们厉害了。
于是他找到了你,发起了挑战,挑战内容就是一个叫取石子的游戏。
这个游戏里,首先会有两堆石子,分别有a和b粒石子。
两个人轮流操作,每次操作必须从其中一堆里取出一定粒数的石子(不能不取,可以取完)。
在有限次操作后,会有一个人把最后的石子取走(最后一次当然不一定是只取一粒),那个人就是胜利者。
由于郭鸡是自大的,于是他希望由你选择先取或后取。
作为一名优秀的酒井人,你要在这个游戏里彻底打败郭鸡,使游戏开始以后郭鸡没有任何机会获得胜利。
输入格式
输入共n+2行,第一行是一个整数n,表示郭鸡取石子次数。
第二行是两个正整数a和b,意义见题目描述。
下面n行,每行有两个整数,用空格隔开,表示郭鸡每次操作的堆号(1或2)及他取的石子数。
(注意:在游戏过程中,事实上你是不知道郭鸡接下来会怎么取的,所以我们要求你每一步操作都要保证郭鸡失败)
输入保证你能在他取完n次后的操作中获胜。
输出格式
输出有两种可能。
若你选择先取,则输出n+2行,第一行输出"Fisrt"表示先取,之后n+1行每一行是你每次操作的堆号(1或2)及取出的石子数。
若你选择后取,则输出n+1行,第一行输出"Second"表示后取,之后n行每一行是你每次操作的堆号(1或2)及取出的石子数。
"First"与"Second"的输出均不带引号。
样例输入
4
10 10
1 4
2 3
1 2
2 1
样例输出
Second
2 4
1 3
2 2
1 1
样例输入
1
1 2
1 1
样例输出
First
2 1
2 1
数据规模和约定
0<a,b<1000
示例代码
#include<iostream>
using namespace std;int main() {int n, a, b;cin >> n;cin >> a >> b;if (a != b) {//先手,使得a和b相等cout << "First" << endl;if (a > b) {cout << 1 <<" "<< a - b << endl;}else {cout << 2 << " " << b - a << endl;}}else {cout << "Second" << endl;}int dui, shu;for (int i = 0; i < n; i++) {//他干什么,你就和他反着来cin >> dui >> shu;if (dui == 2) {cout << 1 << " " << shu << endl;}else {cout << 2 << " " << shu << endl;}}return 0;
}
3.文件列表
感谢大佬 https://blog.csdn.net/ymzqwq/article/details/97781340
问题描述
BSOI在线评测机被不明身份的人入侵了!!系统中大量的数据遭到恶意破坏,数据文件残缺不全。现在,老师正在尽力抢救数据文件。为了检查数据文件是否完整,老师打印出了所有文件的列表,但数据文件太多,老师眼睛都要看花了。所以,为了方便老师检查,需要你写个程序处理一下文件列表,转换成下面这样统一的格式:(//后面为注释)
data //data文件夹,根目录
|----prob //data下面的文件夹
| |----a.in //prob下面的文件
| |----a.out
|----qq //data下面的文件夹
| |----new //qq下面的文件夹
| | |----ok.txt //new下面的文件
| |----old //空文件夹
|----xxx.rmvb
生成的列表格式有如下要求:
1.属于同一层的文件或文件夹位于相同的缩进处,相邻两层文件间差距5个字符;
2.每个文件夹或文件前有4个’-’(根目录除外),文件夹下方属于文件夹的部分有’|’;
3.属于统一文件夹下的文件或子文件夹按字典序排列;
输入格式
第一行一个整数n( n<=50 ),表示总共的文件数目;
接下来n行,每行描述一个文件的路径,路径以 '/' 作为文件分隔符;
所有文件( 及文件夹 )名均由小写字母和英文点组成;所有输入的根目录都是一样的,文件名长度不超过 10 个字符 ,
每个文件夹下不超过15个文件,不超过 5 层。
输出格式
输出符合要求的文件列表
样例输入
6
mydoc/abcd/abc.txt
mydoc/dd/libexec.a
mydoc/stdio.h
mydoc/abcde
mydoc/abcd/zzz/game.cpp
mydoc/abcd/new
样例输出
mydoc
|----abcd
| |----abc.txt
| |----new
| |----zzz
| | |----game.cpp
|----dd
| |----libexec.a
|----stdio.h
数据规模和约定
对于30%的数据,根目录下只有文件,没有文件夹
示例代码
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int N = 100002;
int n;
string s;
vector<string> c[N];
string str[N];int main() {cin >> n;for (int i = 1; i <= n; i++) {cin >> str[i];}sort(str + 1, str + 1 + n);//对字符串进行排序for(int i = 1; i <= n;i++) {string s = str[i].substr(0, str[i].size());//将该字符串赋值给sc[i].resize(0);//将容器初始化为0int pre = 0;//字符索引for(int j=0;j<s.size();j++)if (s[j] == '/') {string ss = s.substr(pre, j - pre);//将/前的字符装入ss中c[i].push_back(ss);pre = j + 1;}c[i].push_back(s.substr(pre, s.size() - pre)); //按'/'分割,最后一个文件存入c[i]int flag = 0;for (int j = 0; j < c[i].size(); j++) {if (flag || j >= c[i - 1].size() || c[i][j] != c[i - 1][j]) { //之前没输出过for (int k = 0; k < j - 1; k++) {//j-1个cout<<"| ";}if (j) {//存在即输出,只要不是根目录cout << "|----";}cout << c[i][j] << endl;flag = 1; //flag表示c[i][j]和c[i-1][j]是在同一个文件夹里}}}return 0;
}
相关文章:

蓝桥杯算法训练合集十五 1.打翻的闹钟2.智斗锅鸡3.文件列表
目录 1.打翻的闹钟 2.智斗锅鸡 3.文件列表 1.打翻的闹钟 问题描述 冯迭伊曼晚上刷吉米多维奇刷的太勤奋了,几乎天天迟到。崔神为了让VonDieEman改掉迟到的坏毛病,给他买了个闹钟。 一天早上,老冯被闹钟吵醒,他随手将闹钟按掉丢…...
CPU扫盲-CPU与指令集
指令集架构就像是特定的CPU的设计图纸,它规定了这个CPU需要支持那些指令、寄存器有那些状态以及输入输出模型。根据指令集结构的设计,在CPU上通过硬件电路进行实现,就得到了支持该指令集的CPU。指令集就像是我们编程语言中的接口,…...

VINS-Mono/Fusion与OpenCV去畸变对比
VINS中没有直接使用opencv的去畸变函数,而是自己编写了迭代函数完成去畸变操作,主要是为了加快去畸变计算速度 本文对二者的结果精度和耗时进行了对比 VINS-Mono/Fusion与OpenCV去畸变对比1 去畸变原理2 代码实现2.1 OpenCV去畸变2.2 VINS去畸变3 二者对…...

jmx prometheus引起的一次cpu飙高
用户接入了jmx agent进行prometheus监控后,在某个时间点出现cpu飙高 排查思路: 1、top,找到java进程ID 2、top -Hp 进程ID,找到java进程下占用高CPU的线程ID 3、jstack 进程ID,找到那个高CPU的线程ID的堆栈。 4、分析堆…...
Android 虚拟 A/B 详解(六) SnapshotManager 之状态数据
本文为洛奇看世界(guyongqiangx)原创,转载请注明出处。 原文链接:https://blog.csdn.net/guyongqiangx/article/details/129094203 Android 虚拟 A/B 分区《AAndroid 虚拟 A/B 分区》系列,更新中,文章列表: Android 虚拟分区详解(一) 参考资料推荐Android 虚拟分区详解(二…...

Python快速入门系列之一:Python对象
Python对象1. 列表(list)2. 元组(tuple)3. 字典(dict)4. 集合(set)5. 字符串(string)6. BIF (Built-in Function)7. 列表、集合以及字…...

【博客626】不同类型的ARP报文作用以及ARP老化机制
不同类型的ARP报文作用以及ARP老化机制 1、ARP协议及报文 2、不同类型的ARP报文作用 3、ARP工作原理 4、ARP老化机制 5、Linux ARP老化机制 ARP状态机: 在上图中,我们看到只有arp缓存项的reachable状态对于外发包是可用的,对于stale状态的…...

nacos discovery和config
微服务和nacos版本都在2.x及之后。1、discovery用于服务注册,将想要注册的服务注册到nacos中,被naocs发现。pom引入的依赖是:yml配置文件中:2、config用于获取nacos配置管理->配置列表下配置文件中的内容pom引入的依赖是&#…...
【算法数据结构体系篇class06】:堆、大根堆、小根堆、优先队列
一、堆结构1)堆结构就是用数组实现的完全二叉树结构2)完全二叉树中如果每棵子树的最大值都在顶部就是大根堆3)完全二叉树中如果每棵子树的最小值都在顶部就是小根堆4)堆结构的heapInsert与heapify操作5)堆结构的增大ad…...
试题 算法提高 最小字符串
资源限制内存限制:256.0MB C/C时间限制:2.0s Java时间限制:6.0s Python时间限制:10.0s问题描述给定一些字符串(只包含小写字母),要求将他们串起来构成一个字典序最小的字符串。输入格式第一行T,表示有T组数据。接下来T…...

已解决ImportError: cannot import name ‘featureextractor‘ from ‘radiomics‘
已解决from radiomics import featureextractor导包,抛出ImportError: cannot import name ‘featureextractor‘ from ‘radiomics‘异常的正确解决方法,亲测有效!!! 文章目录报错问题报错翻译报错原因解决方法联系博…...

乡村振兴研究:全网最全指标农村经济面板数据(2000-2021年)
数据来源:国家统计局 时间跨度:2000-2021年 区域范围:全国31省 指标说明: 部分样例数据: 行政区划代码地区年份经度纬度乡镇数(个)乡数(个)镇数(个)村民委员会数(个)乡村户数(万户)乡村人口(万人)乡村从业人员(万人…...

C语言中用rand()函数产生一随机数
在C语言中如何产生一个随机数呢?用rand()函数。 rand()函数在头文件:#include <stdio.h>中,函数原型:int rand(void);。rand()会返回一个范围在0到RAND_MAX(32767)之间的随机数(整数&…...
关于系统架构
1.系统架构分类: C/S架构 B/S架构 2.C/S架构 Client / Server(客户端 / 服务器) 特点:需要安装特定的客户端软件。 C/S架构的系统优点和缺点: 优点: 1)速度快(软件中数据大部分都是集成到客户端当中,很少量的数据从服…...
LeetCode 1237. 找出给定方程的正整数解
原题链接 难度:middle\color{orange}{middle}middle 2023/2/18 每日一题 题目描述 给你一个函数 f(x,y)f(x, y)f(x,y) 和一个目标结果 zzz,函数公式未知,请你计算方程 f(x,y)zf(x,y) zf(x,y)z 所有可能的正整数 数对 xxx 和 yyy。满足条件…...

【ArcGIS Pro二次开发】(5):UI管理_自定义控件的位置
新增的自定义控件一般放在默认的【加载项】选项卡下,但是根据需求,我们可能需要将控件放在新的自定义选项卡下,在自定义选项卡添加系统自带的控件,将自定义的按钮等控件放在右键菜单栏里以方便使用,等等。 下面就以一…...

学习OpenGL图形2D/3D编程
环境:WindowsVisual Studio 2019最流行的几个库:GLUT,SDL,SFML和GLFWGLFWGLAD库查看显卡OPENGL支持情况VS2019glfwgladopenGL3.3顶点着色器片段着色器VAO-VBO-(EBO)->渲染VAO-VBO-EBO->texture纹理矩阵matrix对图形transfor…...
2023美赛思路 | A题时间序列预测任务的模型选择总结
2023美赛思路 | A题时间序列预测任务的模型选择总结 目录 2023美赛思路 | A题时间序列预测任务的模型选择总结基本介绍数据描述任务介绍时序模型基本介绍 这道题分析植被就行,主要涉及不同植被间的相互作用,有竞争有相互促进,我查了下“植物科学数据中心”和“中国迁地保护植…...

PHP教材管理系统设计(源代码+毕业论文)
【P003】PHP教材管理系统设计(源代码论文) 设计方案 本系统采用B/S结构,所有的程序及数据都放在服务器上,终端在取得相应的权限后使用Web页面浏览,录入,修改等功能。在语言方面使用PHP语言,在…...

nps内网穿透工具
一、准备一台有公网ip的服务器 https://github.com/ehang-io/nps/releases 在这个地址下载服务端的安装包,centos的下载这个 上传到服务器上。 二、然后解压,安装,启动 [rootadministrator ~]# tar xzvf linux_amd64_server.tar.gz [roo…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...

Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...