蓝桥杯算法训练合集十五 1.打翻的闹钟2.智斗锅鸡3.文件列表

news2024/9/24 11:24:47

目录

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());//将该字符串赋值给s
		c[i].resize(0);//将容器初始化为0
		int 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;
}

 

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

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

相关文章

PHP教材管理系统设计(源代码+毕业论文)

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

如何使用断点续传上传大文件

概念 大文件上传的需求介绍 不管怎样简单的需求&#xff0c;在量级达到一定层次时&#xff0c;都会变得异常复杂。 文件上传简单&#xff0c;文件变大就复杂 上传大文件时&#xff0c;以下几个变量会影响我们的用户体验 服务器处理数据的能力请求超时网络波动 上传时间会变长…

[acwing周赛复盘] 第 91 场周赛20230218

[acwing周赛复盘] 第 91 场周赛20230218 一、本周周赛总结二、 4861. 构造数列1. 题目描述2. 思路分析3. 代码实现三、4862. 浇花1. 题目描述2. 思路分析3. 代码实现四、4863. 构造新矩阵1. 题目描述2. 思路分析3. 代码实现六、参考链接一、本周周赛总结 这周挺难的。T1 贪心分…

2022黑马Redis跟学笔记.实战篇(六)

2022黑马Redis跟学笔记.实战篇 六4.7.达人探店功能4.7.1.分享探店图文1. 达人探店-发布探店笔记2. 达人探店-查看探店笔记4.7.2.点赞功能4.7.3.基于List实现点赞用户列表TOP104.7.4.基于SortedSet实现点赞排行榜4.8.关注列表4.8.1.关注列表实现原理4.8.2.添加关注1. 好友关注-关…

JAVA 双亲委派

双亲委派 问题&#xff1f; 什么是双亲委派&#xff1f;为什么需要双亲委派&#xff0c;不委派有什么问题&#xff1f;"父加载器"和"子加载器"之间的关系是继承的吗&#xff1f;双亲委派是怎么实现的&#xff1f;我能不能主动破坏这种双亲委派机制&#x…

nginx平滑升级

1.平滑升级操作1.1 备份安装目录下的nginxcd /usr/local/nginx/sbin mv nginx nginx.bak1.2 复制objs目录下的nginx到当前sbin目录下cp /opt/software/nginx/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/1.3 发送信号user2给nginx老版本对应的进程kill -user2 more /usr/lo…

【TypeScript】TypeScript的基础类型(string,number,boolean,void,null,undefined):

文章目录一、安装【1】安装npm install typescript -g【2】基础类型&#xff1a;Boolean、Number、String、null、undefined 以及 ES6 的 Symbol 和 ES10 的 BigInt二、字符串类型(string)三、数字类型(number)四、布尔类型(boolean)五、空值类型(void)六、null和undefined类型…

初探Mysql反向读取文件

前言 Mysql反向读取文件感觉蛮有意思的&#xff0c;进行了解过后&#xff0c;简单总结如下&#xff0c;希望能对在学习Mysql反向读取文件的师傅有些许帮助。 前置知识 在Mysql中存在这样一条语句 LOAD DATA INFILE它的作用是读取某个文件中的内容并放置到要求的表中&#x…

IOS崩溃文件符号化实践

1.背景与项目难点 1.1 背景 由于公司之前使用的友盟要收费&#xff0c;filebase服务由谷歌提供&#xff0c;存在数据合规风险。需要实现稳定性分析功能&#xff0c;通过支持app崩溃信息实时采集、实时上报、实时自动解析并定位出代码问题&#xff0c;帮助研发同学及时定位崩溃…

Java 布隆过滤器

你在么&#xff1f;在&#xff01;一定在么&#xff1f;不在&#xff01;一定不在么&#xff1f; 你想要100%的准去性&#xff0c;还是99%的准确性附带较高的速度和较小的资源消耗。 任何算法&#xff0c;任何经营收到的背后&#xff0c;都是时间效益 资源消耗 准确性的平衡&am…

ASO优化之如何更新APP

ASO是一个持续的迭代过程&#xff0c;应用商店排名和热门关键词每天都在变化&#xff0c;为了跟上应用行业快节奏的性质&#xff0c;我们必须灵活地制定应用商店的优化策略&#xff0c;并时常的更新我们的应用。 那我们该如何做到这一点呢&#xff1f; 如果是刚上新的应用&am…

93.【Vue-细刷-02】

Vue-02(十六)、基本列表渲染 (v-for)1.使用v-for遍历数组2.使用v-for遍历对象3.使用v-for遍历字符串(十七)、列表过滤 (filter())1.⭐JS中Change属性的原生状态⭐2.使用watch监听实现3.const {xxx} this 在Vue的作用⭐⭐4.JS箭头函数参数的简写⭐5.使用computed进行计算实现(最…

15_FreeRtos计数信号量优先级翻转互斥信号量

目录 计数型信号量 计数型信号量相关API函数 计数型信号量实验源码 优先级翻转简介 优先级翻转实验源码 互斥信号量 互斥信号量相关API函数 互斥信号量实验源码 计数型信号量 计数型信号量相当于队列长度大于1的队列&#xff0c;因此计数型信号量能够容纳多个资源,这在…

家庭理财,轻松记账修改收支记录这样操作

我们在记账的时候难免会出现记错或者想修改的地方&#xff0c;又或者是想将之前太久没有用的记账记录删除掉&#xff0c;今天&#xff0c;小编就教大家如何修改收支记录&#xff0c;一起接着往下看吧&#xff01; 第一步&#xff0c;运行【晨曦记账本】在软件主界面中&#xff…

分享111个HTML娱乐休闲模板,总有一款适合您

分享111个HTML娱乐休闲模板&#xff0c;总有一款适合您 111个HTML娱乐休闲模板下载链接&#xff1a;https://pan.baidu.com/s/1mqmJLctj9oQbJt6Oo8IuBA?pwdep3t 提取码&#xff1a;ep3t Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 响应式美容养生服务行业…

Yolo系列之YOLOv1 YOLOv2

一、YOLOv1 1. YOLOv1概述 YOLOv1是单阶段目标检测方法,不需要像Faster RCNN这种两阶段目标检测方法一样,需要生成先验框。Yolo算法采用一个单独的CNN模型实现end-to-end的目标检测。虽然Faster-RCNN在当时是mAP最高的算法(2015-2016年), 然而速度却很慢,相对而言,Yol…

Java智慧校园平台源码:SaaS模式智慧校园运营云平台源码

校班务管理&#xff1a;评价管理&#xff1a; 1.web端/教师端小程序编辑点评 多元化评价&#xff0c;捕捉学生闪光点全方位评价&#xff0c;自定义评价类型、 评价信息实时推送至家长、AI智能点评 班级报表一键导出&#xff0c;智能评测学生在校表现&#xff0c;老师、家长实…

算法的时间复杂度

算法在编写成可执行程序后&#xff0c;运行时需要消耗时间资源和空间&#xff08;内存&#xff09;资源&#xff0c;因此衡量一个算法的好坏&#xff0c;一般是从时间和空间两个维度来衡量的。 时间复杂度主要衡量一个算法运行的快慢&#xff0c;而空间复杂度主要衡量一个算法运…

Qt Desginer布局方法

首先将我们需要的控件拖拽到一个合适的位置&#xff0c;该例子中用到了两个label&#xff0c;两个lineEdit和两个pushButton。 然后我们需要利用弹簧来控制控件到控件之间的距离以及控件到窗体边界的距离&#xff0c;因为这里只有一组控件&#xff08;两个label&#xff0c;两个…

学板绘课程学费一般多少钱

学板绘课程学费一般多少钱&#xff1f;培训机构的费用和师资、模式有关&#xff0c;价格贵不贵要结合相同类型的机构多多对比。因为好些平台做了很多的宣传广告&#xff0c;运营成本很高&#xff0c; 终羊毛出在羊身上&#xff0c;这样的机构知名度很高&#xff0c;但是性价比不…