当前位置: 首页 > news >正文

蓝桥杯算法训练合集 十六 1.首字母变大写2.盾神计科导作业3.Cinema4.接水问题

目录

1.首字母变大写

2.盾神计科导作业

3.Cinema

4.接水问题


1.首字母变大写

问题描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')

输入格式

输入一行:待处理的字符串(长度小于80)

输出格式

输出一行:转换后的字符串。

样例输入

if so, you already have a google account. you can sign in on the right.

样例输出

If So, You Already Have A Google Account. You Can Sign In On The Right.

示例代码

#include<string.h>
#include<stdio.h>
int main(){char a[256];gets(a);int len=strlen(a);int flag=1;for(int i=0;i<len;i++){if(a[i]>='a' && a[i]<='z'){//如果是单词字母if(flag==1){//如果是首字母printf("%c",a[i]-32);flag=0;}else{printf("%c",a[i]);}}else{flag=1;printf("%c",a[i]);}}
}

2.盾神计科导作业

问题描述

盾神由于最近沉迷于电影赏析中忘记完成计算机导论的作业,为了加快他完成作业的进程他提出了一个简化版模拟cpu运行的问题。
现在一共有16个寄存器(编号为16进制),初始时每个寄存器内部然后给定一串操作序列(具体操作内容如下),然后顺序输出操作序列结束后的寄存器的值。
操作:
0abc 把值bc(十六进制表示下)存入寄存器a。
10ab 把寄存器b的值存入a。
2rab 把寄存器a,b的和存入r。
3rab 把寄存器a,b的or存入r。
4rab 把寄存器a,b的and存入r。
5rab 把寄存器a,b的xor存入r。
6000 停止。
字母均为大写。
假设寄存器能存储的数字大小为maxint。

输入格式

每行一条指令。

输出格式

顺序一行输出每个寄存器的值(表示为10进制)。

样例输入

0011
0122
2312

样例输出

17 34 51 0 0 0 0 0 0 0 0 0 0 0 0 0

数据规模和约定

输入数据指令个数小于10000条。

示例代码

#include<iostream>
using namespace std;
int shiliuzhuanshi(char n) {int n1;if ('0' <= n && n <= '9') {n1 = int(n) - 48;}else {n1 = int(n) - 55;}return n1;
}
int huo(int a, int b) {int c = 0, temp1[16] = { 0 }, temp2[16] = { 0 };int temp = 32768;for (int i = 0; i < 16; i++) {temp1[i] = a / temp;a = a % temp;temp /= 2;}temp = 32768;for (int i = 0; i < 16; i++) {temp2[i] = b / temp;b = b % temp;temp /= 2;};temp = 32768;for (int i = 0; i < 16; i++) {if (temp1[i] == 1 || temp2[i] == 1) {c += temp * 1;}temp /= 2;}return c;
}
int yu(int a, int b) {int c = 0, temp1[16] = { 0 }, temp2[16] = { 0 };int temp = 32768;for (int i = 0; i < 16; i++) {temp1[i] = a / temp;a = a % temp;temp /= 2;}temp = 32768;for (int i = 0; i < 16; i++) {temp2[i] = b / temp;b = b % temp;temp /= 2;};temp = 32768;for (int i = 0; i < 16; i++) {if (temp1[i] == 1 && temp2[i] == 1) {c += temp * 1;}temp /= 2;}return c;
}
int yihuo(int a, int b) {int c = 0, temp1[16] = { 0 }, temp2[16] = { 0 };int temp = 32768;for (int i = 0; i < 16; i++) {temp1[i] = a / temp;a = a % temp;temp /= 2;}temp = 32768;for (int i = 0; i < 16; i++) {temp2[i] = b / temp;b = b % temp;temp /= 2;};temp = 32768;for (int i = 0; i < 16; i++) {if (temp1[i] != temp2[i]) {c += temp * 1;}temp /= 2;}return c;
}
int a[16] = { 0 };int main() {string str;while (cin>>str) {int a1 = int(str[0]) - 48;//字符串第一位int a2 = shiliuzhuanshi(str[1]);//字符串第二位int a3 = shiliuzhuanshi(str[2]);//字符串第三位int a4 = shiliuzhuanshi(str[3]);//字符串第四位if (a1 == 0) {//a3和a4组成的16进制数以10进制存入寄存器a2中a[a2] = a3 * 16 + a4;}else if (a1 == 1) {//a4寄存器存入a3中a[a3] = a[a4];}else if (a1 == 2) {//a3和a4寄存器的值的和存入a2寄存器中a[a2] = a[a3] + a[a4];}else if (a1==3) {a[a2] = huo(a[a3], a[a4]);}else if (a1 == 4) {a[a2] = yu(a[a3], a[a4]);}else if (a1 == 5) {a[a2] = yihuo(a[a3], a[a4]);}else {break;}}for (int i = 0; i < 16; i++) {cout << a[i] << " ";}return 0;
}

3.Cinema

问题描述

给你一个n行m列的01矩阵A,每个元素初始值为0,
再给你k个这样的操作:
给出(xi,yi),你得按要求找出(ai,bi),
将矩阵A的点(ai,bi)赋值为1,并且输出(ai,bi).
要求如下:
1.A(ai,bi)==0.
2.满足1的情况下 , (ai,bi)与(xi,yi)的曼哈顿距离尽可能小.
3.若存在多个(ai,bi)满足条件2 , 则选出ai最小的.
4.若存在多个(ai,bi)满足条件3 , 则选出bi最小的.

输入格式

输入第一行三个正整数n,m,k , 分别表示行数,列数,操作数.
接下来k行每行包含两个正整数xi,yi , 意义见问题描述.

输出格式

共k行 , 每行输出你所求出的ai,bi .

样例输入

3 4 6
1 1
1 1
1 1
1 2
1 3
1 3

样例输出

1 1
1 2
2 1
1 3
1 4
2 3

样例输入

4 3 12
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2
2 2

样例输出

2 2
1 2
2 1
2 3
3 2
1 1
1 3
3 1
3 3
4 2
4 1
4 3

福利数据一

5 3 0

福利数据二

2 5 4
2 3
1 3
1 5
2 3

数据规模和约定

对于10%的数据,乃福利数据.
另有10%的数据,n=1,m<=2000.
另有20%的数据,n,m<=100.
另有20%的数据,n,m<=400.
剩余60%的数据,n,m<=2000.
对于所有数据满足0<=k<=min(100000,n*m) , 1<=xi<=n , 1<=yi<=m .

备注一

为了不黑P党,时限从1.3s改成3s,不过大家应在1.3s内通过为好.

备注二

下面是原题面,由于可能存在的"调侃"行为不再使用:
由于清澄完善的功能导至本人娱乐过度玩脱了,所以原题面暂时丢失.

示例代码

#include<iostream>
using namespace std;
int n, m, k;
int A[10000][10000] = { 0 }, B[10000][10000] = { 0 };
int abs(int n) {if (n < 0) {return 0 - n;}return n;
}
int main() {	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n >> m >> k;int a, b;for (int i = 0; i < k; i++) {cin >> a >> b;	if (A[a][b] == 0) {A[a][b] = 1;B[a][b]++;cout << a << " " << b << endl;}else {int minlen = B[a][b];//最短曼哈顿距离int flag = 0;while(flag==0){int hang;if (a - minlen <= 0) {//超出数组上边界hang = 1;}else {hang = a - minlen;}for (int j = hang; j <= a; j++) {//上面int zlie, ylie;int leftlen = minlen - abs(a - j);zlie = b - leftlen;ylie = b + leftlen;if (zlie >= 1 && A[j][zlie] == 0) {cout << j << " " << zlie << endl;A[j][zlie] = 1;flag = 1;B[a][b] = minlen;break;}else if (ylie <= m && A[j][ylie] == 0) {cout << j << " " << ylie << endl;A[j][ylie] = 1;flag = 1;B[a][b] = minlen;break;}}if (flag == 1) {break;}if (a + minlen > n) {//超出数组下边界hang = n;}else {hang = a + minlen;}for (int j = a+1; j <= hang; j++) {//下面int zlie, ylie;int leftlen = minlen - abs(a - j);zlie = b - leftlen;ylie = b + leftlen;if (zlie >= 1 && A[j][zlie] == 0) {cout << j << " " << zlie << endl;A[j][zlie] = 1;flag = 1;B[a][b] = minlen;break;}else if (ylie <= m && A[j][ylie] == 0) {cout << j << " " << ylie << endl;A[j][ylie] = 1;flag = 1;B[a][b] = minlen;break;}}//没找到minlen++;}}}return 0;
}

4.接水问题

问题描述

学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即 j 同学第x 秒结束时完成接水,则k 同学第x+1 秒立刻开始接水。若当前接水人数n’不足m, 则只有n’个龙头供水,其它m−n’个龙头关闭。 现在给出n 名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。

输入格式

第1 行2 个整数n 和m,用一个空格隔开,分别表示接水人数和龙头个数。 第2 行n 个整数w1、w2、……、wn,每两个整数之间用一个空格隔开,wi 表示i 号同 学的接水量。

输出格式

输出只有一行,1 个整数,表示接水所需的总时间。

样例输入

Sample Input1:
5 3
4 4 1 2 1

Sample Input2:
8 4
23 71 87 32 70 93 80 76

样例输出

Sample Output1:
4

Sample Output2:
163

输入输出样例1说明

第1 秒,3 人接水。第1 秒结束时,1、2、3 号同学每人的已接水量为1,3 号同学接完
水,4 号同学接替3 号同学开始接水。
第2 秒,3 人接水。第2 秒结束时,1、2 号同学每人的已接水量为2,4 号同学的已接
水量为1。
第3 秒,3 人接水。第3 秒结束时,1、2 号同学每人的已接水量为3,4 号同学的已接
水量为2。4 号同学接完水,5 号同学接替4 号同学开始接水。
第4 秒,3 人接水。第4 秒结束时,1、2 号同学每人的已接水量为4,5 号同学的已接
水量为1。1、2、5 号同学接完水,即所有人完成接水。
总接水时间为4 秒。

数据规模和约定

1 ≤ n ≤ 10000,1 ≤m≤ 100 且m≤ n;
1 ≤ wi ≤ 100。

示例代码

#include<iostream>
using namespace std;
int n, m, k;
int finish(int b[100], int m) {for (int i = 0; i < m; i++) {if (b[i] > 0) {return 0;}}return 1;
}
int main() {	int n, m, t = 0, a[10000], b[100] = { 0 };cin >> n >> m;if (m > n) {m = n;}for (int i = 0; i < n; i++) {cin >> a[i];}int cnt = m;for (int i = 0; i < m; i++) {b[i] = a[i];}int time = 0;while (finish(b, m) == 0) {//只有还有水龙头在使用time++;for (int i = 0; i < m; i++) {b[i]--;if (b[i] == 0) {if (cnt < n ) {//如果还有人没打水b[i] = a[cnt++];}}}}cout << time;return 0;
}

相关文章:

蓝桥杯算法训练合集 十六 1.首字母变大写2.盾神计科导作业3.Cinema4.接水问题

目录 1.首字母变大写 2.盾神计科导作业 3.Cinema 4.接水问题 1.首字母变大写 问题描述 对一个字符串中的所有单词&#xff0c;如果单词的首字母不是大写字母&#xff0c;则把单词的首字母变成大写字母。在字符串中&#xff0c;单词之间通过空白符分隔&#xff0c;空白符包括…...

密码的世界

网络世界中常见的攻击方法 窃听攻击 窃听攻击是网络世界最常见的一种攻击方式&#xff0c;一些不能泄露的隐私信息&#xff0c;例如银行卡密码&#xff0c;账号密码&#xff0c;如果被窃听泄露的话通常会带来比较严重的后果。 中间人攻击 在中间人攻击中&#xff0c;小明准…...

如何用一句话感动测试工程师?产品和技术都这么说!

测试工程师在公司里的地位一言难尽&#xff0c;产品挥斥苍穹&#xff0c;指引产品前路&#xff1b;开发编写代码实现功能&#xff0c;给产品带来瞩目成就。两者&#xff0c;一个是领航员&#xff0c;一个是开拓者&#xff0c;都是聚光灯照耀的对象&#xff0c;唯独团队中的保障…...

3|物联网控制|计算机控制-刘川来胡乃平版|第2章:计算机控制系统中的检测设备和执行机构-2.1传感器和变送器|课堂笔记|ppt

...

MySQL中使用索引优化

目录 一.使用索引优化 数据准备 避免索引失效应用-全值匹配 避免索引失效应用-最左前缀法则 避免索引失效应用-其他匹配原则 1、 2、 3、 4、 5、 一.使用索引优化 索引是数据库优化最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的MySQL的性能优化…...

Linux C/C++ 多线程TCP/UDP服务器 (监控系统状态)

Linux环境中实现并发TCP/IP服务器。多线程在解决方案中提供了并发性。由于并发性&#xff0c;它允许多个客户端同时连接到服务器并与服务器交互。 Linux多线程编程概述 许多应用程序同时处理多项杂务。服务器应用程序处理并发客户端&#xff1b;交互式应用程序通常在处理后台…...

【JavaScript】JavaScript基本使用方法

如何回复程序员发来的短信&#xff1a;Hello world —hello nerd. 前言&#xff1a; 大家好&#xff0c;我是程序猿爱打拳。今天我给大家讲解的是初识JavaScript中基本组成成分、引入方法、输入输出语句&#xff0c;并用源码与效果图的方式展示给大家。 目录 1.JavaScript组成…...

Python数据容器、list列表、tuple元组、str字符串、数据容器(序列)切片、set集合、dict字典、字符串大小比较

数据来源 01 数据容器 为什么学习数据容器 数据容器 总结 02 列表 1&#xff09;列表定义 为什么需要列表 列表的定义语法 列表的定义方式 演示 """ 演示数据容器之:list列表 语法:[元素,元素,......] """ # 定义一个列表list my_list …...

Python urllib

Python urllib Python urllib 库用于操作网页 URL&#xff0c;并对网页的内容进行抓取处理。 本文主要介绍 Python3 的 urllib。 urllib 包 包含以下几个模块&#xff1a; urllib.request - 打开和读取 URL。urllib.error - 包含 urllib.request 抛出的异常。urllib.parse …...

Centos7安装Python3

前言系统版本&#xff1a;Centos7.6python版本&#xff1a; python 3.10.4下载python下载链接&#xff1a;直通车找到对应版本的python安装包,这里以python 3.10.4为例点击3.10.4版本的链接&#xff0c;拉到最下面找到Files中对应的linux安装包鼠标右键复制下载链接登录linux系…...

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第四课 | Input/Lighting

📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…...

SpringBoot升级到3.0

SpringBoot 3.0出来有一段时间了&#xff0c;一直没时间来整理&#xff0c;这次来看一下吧。 Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序&#xff0c;您可以“直接运行”。 SpringBoot升级到3.01. SpringBoot的维护时间线2. pom添加3. 打包大小对比4. 升…...

JavaWeb8-线程安全问题

目录 1.概念 1.1.单线程 1.2.多线程 2.导致线程不安全的5个因素 ①抢占式执行&#xff08;首要原因&#xff09; ②多个线程同时修改了同一个变量 ③非原子性操作 ④内存可见性 ⑤指令重排序 线程优点&#xff1a;加速程序性能。线程缺点&#xff1a;存在安全问题。 1…...

进程切换-

实验课之前有一些问题 中断机制 第一个问题&#xff1a; interrupt的两个状态源头&#xff1a; 外中断多由随机中断&#xff08;异步中断&#xff09;造成&#xff0c;如鼠标点击&#xff0c;键盘输入&#xff1b; 内终端多由故障终端&#xff1a;程序运行异常&#xff0c;硬件…...

python--matplotlib(2)

前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库&#xff0c;需要numpy库的支持&#xff0c;支持用户方便设计出二维、三维数据的图形显示&#xff0c;制作的图形达到出版级的标准。 实验环境 Pycharm2020.2.5社区版,w…...

【李忍考研传】五、信心

这天&#xff0c;何隐一来到图书馆就一脸兴奋地对李忍说&#xff1a;“晚上告诉你一个好消息。”李忍又期待又迷惑。“小何今天是咋的了&#xff1f;买彩票中了二十&#xff1f;”虽然李忍很想知道何隐在卖什么关子&#xff0c;但是既然晚上就能知道&#xff0c;那就忍忍吧。 …...

Web 页面之间传递参数的几种方法

Web 页面之间传递参数的方法有很多种&#xff0c;下面列出一些常见的方法以及它们的代码示例。 一、前端直接传递参数 1、URL 参数传递&#xff08;query string&#xff09;&#xff1a;通过 URL 的查询字符串&#xff08;即问号后面的参数&#xff09;将参数传递给页面。可…...

Android实例仿真之二

目录 三 从无入手 第一阶段 第二阶段 第三阶段 第四阶段 第五阶段 第六阶段 第七阶段 八 举两个典型例子&#xff1a; 九 逆向工程 三 从无入手 这节标题叫从无入手&#xff0c;什么意思呢&#xff1f;如果没有Android这个实例存在&#xff0c;你要做一个类似Android…...

day47【代码随想录】动态规划之买卖股票的最佳时机III、买卖股票的最佳时机IV、最佳买卖股票时机含冷冻期、买卖股票的最佳时机含手续费

文章目录前言一、买卖股票的最佳时机III&#xff08;力扣123&#xff09;二、买卖股票的最佳时机IV&#xff08;力扣188&#xff09;三、最佳买卖股票时机含冷冻期&#xff08;力扣309&#xff09;四、买卖股票的最佳时机含手续费&#xff08;力扣714&#xff09;股票买卖问题总…...

网络数据包接收流程

1. 网络数据包接收流程简述 典型的以太网卡网络包接收流程如下&#xff1a; 1.网络包通过物理介质传到接收端的phy芯片&#xff1b; 2.phy芯片通过RGMII协议传到MAC芯片rx queue fifo中&#xff1b; 3.MAC芯片通过专用DMA将网络包搬运到网卡驱动程序预先分配好的rx ringbuffer中…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...