第一讲C++

news/2025/3/10 18:44:25/文章来源:https://www.cnblogs.com/ALANYLLL/p/18687960

第一题Long Loong
For a positive integer X, the Dragon String of level X is a string of length (X+3) formed by one L, X occurrences of o, one n, and one g arranged in this order.
You are given a positive integer N. Print the Dragon String of level N.
Note that uppercase and lowercase letters are distinguished.
思路:1.输入n;
2.先输出L;
3.通过for 循环输出N个o;
4.输出ng;

第二题YES or YES?
There is a string s of length 3, consisting of uppercase and lowercase English letters. Check if it is equal to "YES" (without quotes), where each letter can be in any case. For example, "yES", "Yes", "yes" are all allowable.
思路:因为yes的形式可以是YES,YEs,YeS,Yes,yES,yEs,yes,yeS.对每个进行判断较繁琐,所以我将输入的s每个字母转成大写,将其与YES进行比较

第三题Even?Odd?G
Bessie那惨无人道的二年级老师搞了一个有 N 个正整数 I 的表叫Bessie去判断“奇偶性”(这个词语意思向二年级的学生解释,就是“这个数是单数,还是双数啊?”)。Bessie被那个表的长度深深地震惊到了,竟然跟栋栋的泛做表格一样多道题!!!毕竟她才刚刚学会数数啊。
写一个程序读入N个整数,如果是双数,那么在单立的一行内输出"even",如果是单数则类似地输出"odd".
思路:对于奇偶性判断,首先想法是将一个数除以2,若能整除则为偶数,若不能整除则为奇数。但在这题中,数字最大可到10的60次方,在C++中会溢出,并且,每个数字最后一位数字的奇偶性和数字本身奇偶性一致,所以可以只将每个数字的最后一位数字提取出来,判断最后一位数字的奇偶性。

第四题Problem Generator
Vlad is planning to hold m rounds next month. Each round should contain one problem of difficulty levels 'A', 'B', 'C', 'D', 'E', 'F', and 'G'.
Vlad already has a bank of n problems, where the i-th problem has a difficulty level of ai. There may not be enough of these problems, so he may have to come up with a few more problems.
Vlad wants to come up with as few problems as possible, so he asks you to find the minimum number of problems he needs to come up with in order to hold m rounds.
For example, if m=1, n=10, a= 'BGECDCBDED', then he needs to come up with two problems: one of difficulty level 'A' and one of difficulty level 'F'.
思路:1.先统计已有的题目中,每种难度的题目有多少题;
2.通过循环判断每种难度题目还需几题;
3.将每种难度需要题数相加.

第五题rules
小A制定了一些规则,每条规则有一个代号,代号为不超过10的9次方的非负整数。
小A的国家有n位居民,每位居民每天会且仅会遵守1条规则。小A记录了m天里每天每位居民遵守的规则代号。
现在小 A 想要考察代号为k的规则是否符合民意,具体考察方法如下:
• 如果在某一天里,有大于等于一半的人遵守了规则k,那么小A认为在这一天规则k是符合民意的。
• 如果在大于等于一半的天数里,规则k符合民意,那么他会认为规则k是正确的。否则,他会认为规则k是错误的。
如果小A的规则k是正确的,请你输出YES,否则请你输出NO。
思路:1.通过循环对一天中遵守规则k的人数进行统计;
2.判断这一天规则k是否符合民意,若符合则cnts+1;
3.通过循环统计m天中规则k符合民意天数;
4.判断cnts是否大于等于m的一半.

第六题Many Replacement
You are given a string S of length N consisting of lowercase English letters.
You will perform an operation Q times on the string S. The i-th operation(1≤i≤Q) is represented by a pair of characters(ci,di), which corresponds to the following operation:
• Replace all occurrences of the character ci in S with the character di.
Print the string S after all operations are completed.
思路:这题最开始想的是通过循环q次每次都在循环n次将str逐个转换,但考虑到1<=n<=2e5,每次循环都转换必然超时。所以考虑找到26个小写单词在q次转换后每个对应的字母。

第七题 更好的交换
小 S 有一个奇怪的机关拼图。这个拼图可以看作一个 n行 n 列的方阵 A,第 i行第 j列的位置上有一个正整数 Ai,j。
与寻常拼图不同的是,这个机关拼图上的数字不能随意移动,必须按照如下规则之一操作:
• 选择拼图上的第 x行和第 y 行,交换这两行;
• 选择拼图上的第 x列和第 y列,交换这两列。
为了复原这个拼图,小 S 将会操作共 m 次,每次操作格式如下:
• 1 x y,表示交换第 x行和第 y行;
• 0 x y,表示交换第 x列和第 y列;
请你输出复原后的拼图。
思路:第一次写的时候在循环中每次操作都把整个方阵一起交换,因为方阵是二维数组,导致了几次超时。后来发现,在每次操作时,行列变换并不互相影响,所以可以通过两个数组row[],col[]分别记录操作后的行列对应最开始方阵的行列

学习总结:学会计算程序的时间复杂度,通过问题6,问题7的解决,明白在程序超时时该如何进行优化。并且通过学习,了解了一些C++的语法。

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

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

相关文章

蓝牙芯片HS6621CG-C丰富IO口资源集成红外编码语音采集功能超高性能已移植NFC例程支持语音蓝牙遥控智能门锁智能家居等应用

2.4Ghz的soc蓝牙5.1芯片HS6621CC语音遥控/智能门锁M4F内核兼容NORDIC的2.4G私有协议超低功耗,丰富IO口资源集成红外编码语音采集功能超高性能已移植NFC例程支持语音蓝牙遥控智能门锁智能家居等应用 简介:HS6621CxC 是一种功耗优化的真正的片上系统(SOC)解决方案,既适用于蓝牙…

Leetcode 287. 寻找重复数

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2]输出: 2 示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。 只…

性价比PHY6252国产高性能蓝牙芯片支持BLE5.2内置M0内核512KB flash

简介PHY6252是一款支持BLE 5.2功能的系统级芯片(SoC),集成了低功耗的高性能多模射频收发机,搭载32位高性能低功耗处理器,提供64K retention SRAM、可选512/256K Flash、96KB ROM以及256bit efuse,支持基于BLE的安全架构、应用和OTA在线升级。此外,芯片串行外设IO和集成的…

Python代码将大量遥感数据的值缩放指定倍数的方法

本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像文件的方法~本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存…

PHY6235超低功耗透传蓝牙soc内置MCU低成本方案

PHY6235是一款用于蓝牙低功耗和专有2.4G应用的系统级芯片(SoC)。它采用高性能、低功耗的32位RISC-V MCU,配备8KB保持型SRAM、80KB ROM以及超低功耗的高性能多模式无线电。此外,PHY6235支持带有安全功能的BLE(蓝牙低功耗)应用。串行外设IO和集成的应用IP使客户产品能够以最…

APISIX-API服务网关

一、简介 apisix是一款云原生微服务API网关,可以为API提供终极性能、安全性、开源和可扩展的平台。apisix基于Nginx和etcd实现,与传统API网关相比,apisix具有动态路由和插件热加载,特别适合微服务系统下的API管理。 Apisix 的诞生主要是为了是解决 Nginx 的动态配置问题以及…

会议真的有必要吗?我们产品开发9年了,但从来没开过会

在经历了10多年稳定安逸但缺少激情的朝九晚五工作后,于2017年我成立了一家软件公司,以自己所喜欢节奏和方式工作。 在这近10年的时间内我们开发了多个成熟的软件产品,已有不少用户在使用,独立自由且保持盈利。我们发现在这些年的软件研发过程中,我们软件研发团队竟然没有一…

C# SqlParameter设置值为0数据库实际为null的原因

以前我也发现了这个问题,当时 我是想通过SqlParameter插入一个int数据到数据库,类似下面这样1 MySqlParameter[] parameters = new MySqlParameter[] 2 { 3 new MySqlParameter("@order",0) 4 } 但是执行后,会发现数据库显示为null,当时没去…

java基础Day6 java数组

一、数组的定义 二、数组的声明和创建 dataType[] arrayRefVar;//首选方法 dataType arrayRefVar[];//效果相同,但不是首选方法int[] nums;//声明一个数组nums = new int[10];//创建一个数组//给数组元素赋值 nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = …

windows服务管理

windows服务管理在 Windows 系统中,有多种方法可以管理服务。以下是一些常用的服务管理方法: 1. 服务控制管理器 (SCM) 服务控制管理器是一个系统级别的工具,用于启动、停止、暂停和恢复服务。它可以通过以下方式访问:运行命令:在“运行”对话框(快捷键 Win + R)中输入 …

深入探讨存储过程的创建与应用:提高数据库管理效率的关键工具

title: 深入探讨存储过程的创建与应用:提高数据库管理效率的关键工具 date: 2025/1/23 updated: 2025/1/23 author: cmdragon excerpt: 在数据驱动的商业环境中,数据库管理系统必须具备高效的操作能力。而存储过程作为一种封装的数据库逻辑,提供了一种有效的解决方案,以增…

大模型论文精选||多智能体微调:通过多样推理链实现自我提升

多智能体微调是一种实现自我提升的补充方法,它将微调应用于语言模型的多智能体群体。一组均基于相同基础模多智能体微调是一种实现自我提升的补充方法,它将微调应用于语言模型的多智能体群体。一组均基于相同基础模型的语言模型,通过模型间的多智能体交互生成的数据,分别对…