oj赛(双周赛第二十次)

目录

碰碰车

小码哥与机器人

小码哥的跳棋游戏

竖直打印机

排队

邮箱地址


碰碰车


难度:钻石 占用内存:128 M时间限制:1秒
游乐园玩碰碰车,其中有一种碰碰车是在一条直线上行驶。该碰碰车有一个初始朝向和初始位置,并且以每秒一个单位的速度向初始方向前行,当它和其它碰碰车相遇时,它们会立刻掉头(由于速度很快,掉头时间可以忽略)。你可以算出它们在t秒后的位置吗?

//
// Created by abner on 2024/1/31.
//
#include <bits/stdc++.h>
using namespace std;struct CAR{
int ID;
int x;
int f;
}car[1010];bool cmp1(CAR a,CAR b){return a.x <= b.x;}bool cmp2(CAR a,CAR b){return a.ID <b.ID;}int n,t,tmp[1010];int main(){cin>>n >>t;for(int i=0;i<n;i++){cin >> car[i].x >>car[i].f;car[i].ID = i+1;}sort(car,car +n,cmp1);for (int i=0;i<n;i++) {tmp[i] = car[i].ID;car[i].x = car[i].x + car[i].f * t;}sort(car,car +n,cmp1);for (int i=0;i<n;i++){car[i].ID =tmp [i];if (i<n-1&&car[i].x == car[i+1].x ||i>0 && car[i].x == car[i-1].x)car[i].f =0;}sort(car,car + n,cmp2);for (int i=0;i<n;i++,puts("")){cout << car[i].x<<" "<<car[i].f;}return 0;}

小码哥与机器人


难度:黄金时间限制:1秒四 占用内存:128 M
小码哥新买了一个机器人,但是这个机器人因为很便宜只能做三个动作
三个动作:前进FD,倒退BK和重复REPEAT。
FD后加数字表示前进多少步;
BK后加数字表示后退多少步;
REPEAT 后加数字再加方括号,表示重复方括号里的命令
三个动作加的数字均为正整数。
命令的格式:
1.FD与BK命令组合:
2.REPEAT 命令内加REPEAT命令与FD、BK组合,且REPEAT排在最后。

//
// Created by abner on 2024/1/31.
//
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ll solve(){string s;char c,k;ll n,ans =0;while (cin >> c){if(c== ']')break;cin >>s >> n;if (c =='R') {cin >> k;ans += n * solve();}if (c=='B')ans -= n;if (c=='F')ans += n;}return ans;
}
int main() {cout << abs(solve());return 0;
}

小码哥的跳棋游戏


少难度:黄金 时间限制:1秒巴:占用内存:128 M
小码哥喜爱跳棋。跳棋游戏在一条直线上,一共几个位置(1~n),每个位置有2个状态:0表示没有棋子,1表示有棋子。小码哥的棋子自然是能通过没有棋子的位置。当面前有1个棋子时,小码哥可以直接跳过。当有两个及以上棋子连在一起时,小码哥的棋子是跳不过去的。这时候,就要花费能量,破坏掉一些棋子,才能跳过。已知破坏一枚棋子需要花费一点能量。小码哥的棋子从第0个位置出发,现在要求小码哥到达终点(第几个位置)至少需要花费多少能量?
格式
输入格式:第1行包含一个正整数n;
第2行 n 个整数 ai,表示棋盘的状态。

//
// Created by abner on 2024/1/31.
//
#include <bits/stdc++.h>
using namespace std;
int n,a[100005],ans;
int main() {cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i < n; i++)if (a[i] && a[i + 1]) {a[i + 1] = 0;ans++;}ans += a[n];cout << ans << endl;return 0;
}

竖直打印机


难度:黄金时间限制:1秒四 占用内存:256 M
小码哥买了一台很神奇的打印机,它能竖直地打印单词,给一个字符串,他能按单词出现的顺序竖直返回单词。
单词应该以字符串列表的形式返回,必要时用空格补位,但输出尾部的空格需要删除(不允许尾随空格)
必要时以空格补位指的是;在竖直打印单词过程中,若出现中间的单词长度小于相邻两个单词长度,会有某行该单词没有字母的情况,这时用空格补位。
输出尾部空格的删除指的是:输出最后一行的末尾没有空格,
现要求你按照要求复制一个打印机。

//
// Created by abner on 2024/1/31.
//
#include <bits/stdc++.h>
using namespace std;
struct NODE{string str;int len;
};
int main(){vector<NODE>aa;int maxn = 0,cnt =0;string tmp;while (cin >> tmp) {int len = tmp.length();maxn = max(maxn, len);aa.push_back({tmp, len});cnt++;}for(int i = 0;i<maxn;i++) {string tmp = "";for (int j = 0; j < cnt; j++) {if (aa[j].len >= i + 1)tmp += aa[j].str[i];elsetmp += " ";}cout << tmp << endl;}return 0;}

排队


 时间限制:1秒难度:黄金巴: 占用内存:128 M
课间休息做游戏,要求男孩们和女孩们排成一队,最初按照加入队伍的顺序排。然而,过了一会儿。站在女孩们前面的男孩们开始感到造尬,下一秒,他们会让身后的女孩站到自己前面。
让我们更精确地描述这个过程。假设队列中的位置由1到n的整数顺序编号,我们对位置号1中的人首先进行操作。如果在时间X,男孩站在第i个位置,女孩站在第+1个位置,然后下一秒,男孩女孩的位置会交换,也就是此时第个是女孩,第i+1个是男孩。时间是以秒为单位给出的。你现在知道孩子们的初始位置。确定队列在 工秒之后的排列方式。
格式
输入格式:第一行包含两个整数”和t,表示队列中的人数和队列将转换成需要查找的排列的时间:下一行输入一个字符串8,s仅由B和G 构成(B表示男孩,G表示女孩)。
输出格式:一个字符串,表示最后的队列。

//
// Created by abner on 2024/1/31.
//
#include <bits/stdc++.h>
using namespace std;
int n,t;
string s;int main(){cin >>n >>t;cin >> s;while (t--){for (int i=0;i<n-1;i++){if(s[i] == 'B' && s[i+1] == 'G'){swap(s[i],s[i+1]);i++;}}}cout <<s;return 0;
}

邮箱地址


多 难度:钻石时间限制:1秒巴:占用内存:128 M
-个地址由<username>@<hostname>[/resource]组成。
其中username 和hostname之间只允许有一个 @;尖括号<>内包含的为必选项,方括号[]内包含的为可选项。如果 /出现,则必须跟有resource字段。各字段要求如下:
1.username 字段允许大写、小写字母,数字、下划线,其长度应在1到16。2.hostname 字段类似网址,允许用一个或多个。来分割,但不允许连续两个。连在一起。同时,hostname不允许以 。开头或结束。每一段的要求同username字段,分隔出的每一部分长度在1到16,hostname字段的总长度在1到32。
3.resource 字段要求同username 字段,不限制长度。
现给出一个地址,请判断是否合法。
格式
输入格式:一行,一个字符串,表示一个地址(保证地址的字符的ASCI在33到127间),地址长度不超过1000字符
输出格式:一行,如果合法输出YES,否则输出NO。

//
// Created by abner on 2024/1/31.
//
#include <bits/stdc++.h>
using namespace std;
string s,u,h,r;bool check(char ch){if ((ch >='A' && ch <='Z' || ch >='a' && ch<='z'||ch >= '0' && ch<= '9' || ch=='_'))return true;elsereturn false;
}
bool username() {int l = u.size();if (l == 0 || l > 16)return false;for (int i = 0; i < l; i++) {if (!check(u[i]))return false;}return true;
}bool hostname(){int l = h.size();if(h[0]== '.'|| l== 0 || l>32 || h[l-1] == '.')return false;for(int i = 1; i<l-2;i++) {//检查连续两个.的情况if (h[i] == '.' && h[i + 1] == '.')return false;}int sum = 0;for (int i=0;i<l;i++) {if (h[i] != '.' && !check(h[i]))//判断字符是否符合要求return false;if (h[i] = ',')//以下为判断每一段长度是否在16以内sum++;else {if (sum > 16)return false;sum = 0;}}if(sum>16)return false;return true;}bool resource(){int l = r.size();if(l == 0)return false;for (int i=0;i<l;i++){if (!check(r[i]))return false;}return true;
}
int main() {int p1, p2;cin >> s;p1 = s.find('@'), p2 = s.find('/');if (p1 == string::npos) {//判断没有@的情况cout << "NO";return 0;}u = s.substr(0, p1);
//username!赋值if (p2 == string::npos)//根据有没有/来给hostname!赋值h = s.substr(p1 + 1);elseh = s.substr(p1 + 1, p2 - (p1 + 1));if (p2 != string::npos) {//如果存在/,判断resource,是否合法r = s.substr(p2 + 1);if (!resource()) {cout << "NO";return 0;}}if (username() && hostname())cout << "YES";elsecout << "NO";return 0;
}

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

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

相关文章

多线程代码案例之单例模式

作者简介&#xff1a; zoro-1&#xff0c;目前大二&#xff0c;正在学习Java&#xff0c;数据结构&#xff0c;javaee等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; 多线程代码案例之单例模式 单例…

【数据结构 04】单链表

一、链表简介 链表是一种物理存储结构上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表在结构上的分类&#xff1a; 1. 带头结点或无头结点 2. 单向或双向 3. 循环或非循环 虽然链表有多种结构类型&#xff0c;但是我么在实际开发中…

【RT-DETR有效改进】Bi-FPN高效的双向特征金字塔网络(附yaml文件+完整代码)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进机制是BiFPN双向特征金字塔网络,其是一种特征融合层的结构,也就是我们本文改进RT-DETR模型中的Neck部分,它的主要思想是通过多层级的特征金字塔和双向信息传递来提高精度。本文给大家带…

甘肃推动“安全石窟”建设,新技术助力文物预防性保护

一、甘肃用“智能化”技术让文物“重获新生” 文物保护与历史遗产和文化瑰宝的安全相关。甘肃有莫高窟、麦积山、炳灵寺等石窟寺&#xff0c;背负着历史的沧桑。但是&#xff0c;岁月侵蚀使这些文物状态变得令人堪忧。环境的微妙变化和温度和湿度的波动会对其导致不可逆转的伤…

浮点数加、减运算步骤

一、浮点数介绍 1.1 浮点数格式&#xff1a; 精度位数格式单精度 float4个字节32位符号位1位&#xff0c;阶码8位&#xff0c;尾数23位双精度 double8个字节64位符号位1位&#xff0c;阶码11位&#xff0c;尾数52位 1.2 浮点的表示方法 浮点数在机器中的形式如下所示&#x…

C++数据结构与算法——链表

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…

Linux初始相关配置

前言 在学完了Linux的相关基础命令后&#xff0c;在正式使用Linux系统之前&#xff0c;我觉得配置一些东西是很有意义的。 文章目录 前言1.权限配置&#xff0c;普通用户无法sudo提权2.vim配置3.vim其他操作4.动静态库5.gcc/g6.程序翻译的过程7.make/makefile8.cmake/CMakeLis…

【Unity3D小功能】Unity3D中设置Text行首不出现标点符号

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中会遇到Text的文本内容行首出现标点符号的情况&#xf…

《动手学深度学习(PyTorch版)》笔记4.8

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过。…

实战教程:使用Spring Boot和Vue.js开发社区团购管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

使用AnimeGAN2将照片动漫化--入门

使用AnimeGAN2将照片动漫化--入门 1. 环境准备2. 使用3. 总结 1. 环境准备 首先下载AnimeGAN2:https://github.com/TachibanaYoshino/AnimeGANv2.git 然后使用conda 创建一个python3.6的环境conda create -n pyt36 python3.6&#xff1a; 创建一个requirements.txt文件&am…

生信学院|02月02日《云端设计一体化平台—3DEXPERIENCE》

课程主题&#xff1a;云端设计一体化平台—3DEXPERIENCE 课程时间&#xff1a;2024年02月02日 14:00-14:30 主讲人&#xff1a;郭俊辰 生信科技 解决方案顾问 1、云产品发展趋势 2、3DExperience产品的介绍 3、3DExperience DEMO演示 请安装腾讯会议客户端或APP&#xff…

记一次无法ping通Cisco switch处理

网络小白&#xff0c;仅仅在工作中需要telnet到switch。奈何之前不知什么原因一直无法ping通该switch&#xff0c;很久只能使用串口连接来配置了。而今遇到了使用脚本telnet switch的场景&#xff0c;不得不再次面对这个问题。 首先还是使用串口来看switch是否拿到ip&#xff…

【蓝桥杯冲冲冲】进阶搜索 Anya and Cubes

蓝桥杯备赛 | 洛谷做题打卡day22 文章目录 蓝桥杯备赛 | 洛谷做题打卡day22Anya and Cubes题面翻译输入格式输出题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示题解代码我的一些话 Anya and Cubes …

LeetCode 54 螺旋矩阵

题目描述 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#x…

线程池的知识

线程池是由服务器预先创建的一组子线程&#xff0c;线程池中的线程数量应该和 CPU 数量差不多。线程池中的所 有子线程都运行着相同的代码。当有新的任务到来时&#xff0c;主线程将通过某种方式选择线程池中的某一个子 线程来为之服务。相比与动态的创建子线程&#xff0c;选…

【昕宝爸爸小模块】深入浅出详解之常见的语法糖

深入浅出详解之常见的语法糖 一、&#x1f7e2;关于语法糖的典型解析二、&#x1f7e2;如何解语法糖&#xff1f;2.1&#x1f7e2;糖块一、switch 支持 String 与枚举2.2&#x1f4d9;糖块二、泛型2.3&#x1f4dd;糖块三、自动装箱与拆箱2.4&#x1f341;糖块四、方法变长参数…

实战Vue.js与MySQL:爱心商城项目开发指南

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

【深入浅出SpringCloud原理及实战】「Netflix系列之Hystrix」针对于限流熔断组件Hystrix的回退降级实现方案和机制

针对于限流熔断组件Hystrix的回退降级实现方案和机制 依赖隔离依赖隔离之线程&线程池高延迟请求的例子 线程池的优势线程池的弊端线程池的开销线程池开销 信号量 依赖隔离 Hystrix通过使用『舱壁模式』&#xff08;注&#xff1a;将船的底部划分成一个个的舱室&#xff0c;…

SpringBoot+BCrypt算法加密

BCrypt是一种密码哈希函数,BCrypt算法使用“盐”来加密密码,这是一种随机生成的字符串,可以在密码加密过程中使用,以确保每次加密结果都不同。盐的使用增强了安全性,因为攻击者需要花费更多的时间来破解密码。 下图为使用BCrypt算法后的的密码结果值: 下面讲一下注册登陆…