自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 PTA团体程序设计天梯赛L1-034 点赞

非常简单实用的代码,根本不用别的花里胡哨的那些。报错了,之后再改,先放着。

2024-04-16 14:54:46 176

原创 PTA团体程序设计天梯赛L1-033 出生年

题主初写时将y作为字符串然后补齐了零,但是判断不同数字个数时只能想到较复杂的办法,找不到足够精简的算法。%4d表示至少输出四位整数,不足则用空格补齐,而%04d意味着不足时会用0而非空格补齐。这一段将年份各位全部收入set中,同时由于元素不重复特性,使得不足四位的年份在收入后。例如,y为12,运行这段程序后set中会有0,1,2三个元素。1、柳神没有跟我一样选择字符串来补齐零,而是直接整形输入,通过set的元素不重复特性。规避了补全前置0的需要。

2024-04-16 14:10:31 192

原创 PTA团体程序设计天梯赛L1-078 吉老师的回归

分析:用getline整行输入带空格字符串,用cnt记录非签到题数量,并查询其中是否带有”qiandao”或”easy”,当cnt等于m时,用ans记录当前正在做的题目对应的题面。如果cnt的数量小于等于m,则表示已经AK~问题出在了cin,cin输入是到一个空格就停止的,而题目输入数据每一行里面都有空格,因此这个方法是行不通的。,用于检查输入的字符串中是否包含特定的子串,如果包含则返回1,否则返回0。:读取并丢弃输入缓冲区中的换行符,以防止影响后续的。函数从标准输入读取一行字符串,并将其存储到变量。

2024-04-14 01:24:03 219

原创 PTA团体程序设计天梯赛L1-075 强迫症

【代码】PTA团体程序设计天梯赛L1-075 强迫症。

2024-04-12 15:59:27 153

原创 PAT basic level 1072开学寄语

flag变量表示当前学生是否已经输出过姓名,一开始flag=false,当前学生如果有需要被查缴的物品且还未输出过他的姓名,则输出name,并令flag=true;如果有需要被查缴的物品且已经输出过姓名,则输出该物品的编号,因为编号为4位数字,不满4位要在前面补0,所以用%04d输出,并将被查缴物品的总数fnum++,最后如果当前学生已经输出过姓名,则输出一个空行,并将学生的总人数snum++,最后输出snum和fnum的值~3、用0补齐四位,非常细节。

2024-03-08 00:27:24 172

原创 PAT basic level 1071小赌怡情

柳神注解:ans表示n1和n2真实的结果,如果n1 > n2,ans为0,表示应该赌小,否则ans = 1,表示玩家应该赌大。T表示当前玩家有的筹码数,如果T=0,表示玩家已经输光,输出Game Over;如果t > T,表示玩家下注超过持有的筹码量,输出Not enough tokens. Total = 当前的T,如果真实结果ans等于玩家猜的结果,表示玩家赢了,筹码都归玩家,T += t;如果ans不等于b,表示玩家输了,筹码要减去t~

2024-03-08 00:01:55 187

原创 PAT basic level 1070结绳

柳神注解:因为所有长度都要串在一起,每次都等于(旧的绳子长度+新的绳子长度)/2,所以越是早加入绳子长度中的段,越要对折的次数多,所以既然希望绳子长度是最长的,就必须让长的段对折次数尽可能的短。所以将所有段从小到大排序,然后从头到尾从小到大分别将每一段依次加入结绳的绳子中,最后得到的结果才会是最长的结果~能把从小到大这个点想到的基本就能做出来了。

2024-03-07 23:51:53 178

原创 PAT basic level 1069微博转发抽奖

柳神注解:用mapp存储当前用户有没有已经中奖过~当输入的时候,判断当前字符串是否已经在mapp中出现过,如果出现过就将s+1。每次判断i是否等于s,如果等于s且当前用户没有中过奖,就将它的名字输出,并且s = s + n~并将mapp[str]标记为1,且flag标记为true表示有过人中奖。最后flag如果依然是false说明要输出Keep going...这一句是在出现第一个中奖者之后才会启动的,遇到发过言的就把中奖位次往后顺延一位,注意,当第一个中奖者还未出现时,这句代码是锁着的。

2024-03-07 23:40:29 247

原创 PAT basic level 1067

2、如果密码错误并且达到了尝试的次数,是先输出Wrong password那句紧接着输出Account locked那句。柳神注解:注意3个点:1、如果已经是"#"了就不要继续下面的判断了,不然可能输出Wrong password: "#"3、Wrong password: 后面有个空格~

2024-03-07 23:07:37 177

原创 PAT basic level 1066图像过滤

注意这句代码,实现用0补位。

2024-03-07 23:01:35 181

原创 PAT basic level 1065单身狗

柳神注解:设立数组couple[i] = j表示i的对象是j~一开始先设置为都是-1,设立数组isExist表示某人的对象是否来到了派对上~接收数据的时候,对于每一对a和b,将couple的a设置为b,b设置为a,表示他俩是一对~对于每一个需要判断的人,将其存储在guest数组里面,如果它不是单身的(也就是如果它的couple[guest[i]]!那么就将它对象的isExist设置为1,表示他对象的对象(也就是他自己)来到了派对~3、使用迭代器输出,并按需要输出对应的空格。

2024-03-07 07:34:28 262

原创 PAT basic level 1064朋友数

是否指向集合的起始位置。如果不是起始位置,则输出一个空格。这是为了在输出数字之间加上空格分隔符。综合起来,这段代码用于遍历集合 s,并将集合中的数字按照空格分隔输出。是循环的迭代操作,每次迭代将迭代器指向下一个位置。返回指向集合末尾位置的迭代器。这是一个 for 循环,用于遍历集合 s。未达到集合的末尾位置时循环继续执行。关键字用于自动推导迭代器的类型,返回指向集合起始位置的迭代器,是获取迭代器指向位置的值。:这行代码输出当前迭代器。:这行代码检查迭代器。

2024-03-06 19:02:28 261

原创 PAT basic level 1063计算谱半径

柳神注解:用max保存谱半径,对于n个特征值的实部a和虚部b,模ans = (a的平方+b的平方)的开方,所以ans = sqrt(a * a + b * b);将ans的最大值保存在max中,最后用%.2f输出max的值~以下为柳神代码:分析 1、 函数的语法如下:参数:返回值:使用 函数时,只需将待计算平方根的数值作为参数传递给 函数,然后它会返回计算出的结果。 2、使用三元运算符判断 是否大于变量 的值,如果是,则将 赋值给 ,否则保持不变。

2024-03-06 13:12:22 220

原创 PAT basic level 1062最简分数

这个表达式的意义是:如果 b 等于0,那么返回 a,否则递归调用 gcd 函数,并将 b 作为新的 a,而 a % b 的余数作为新的 b。如果这个条件成立,也就是第一个分数的分子乘以第二个分数的分母大于第二个分数的分子乘以第一个分数的分母,那么表示第一个分数大于第二个分数。这样,经过交换后,第一个分数将变成较小的分数,第二个分数将变成较大的分数。这样的交换操作确保了后续的处理结果是以较小的分数为基准的。这段代码的目的是判断两个分数的大小,并对它们进行交换,以确保前一个分数小于等于后一个分数。

2024-03-06 12:56:16 308

原创 PAT basic level 1049数列的片段和

因为是连续的片段,所以我们很容易得到,以0.1开头的有四个片段,后面的片段就不包含0.1了,那么出现的次数就是4*1次,以0.2开头的片段有3个,再加上0.1开头片段除了第一个都包含0.2,就是3*2个,以此类推,不难发现,假设总个数为N,那么第K个数出现的次数即为(N-K+1)*K。这道本应该是送分题的,结果研究了好久都没搞明白问题在哪。

2024-02-29 16:21:46 354

原创 ESP32 第30章 倾斜传感器实验

程序下载成功后,若传感器切斜一定角度,D1指示灯状态翻转。

2024-02-27 00:52:15 247

原创 ESP32 第29章 激光传感器实验

【代码】ESP32 第29章 激光传感器实验。

2024-02-27 00:37:03 227

原创 PAT basic level 1047编程团体赛

迭代器的使用要尤其注意。

2024-02-25 03:07:59 170

原创 PAT basic level 1046划拳

【代码】PAT basic level 1046划拳。

2024-02-25 00:15:37 189

原创 PAT basic level 1045快速排序

这个优化后的代码使用了和之前相同的思路,但是减少了循环的次数。

2024-02-25 00:06:31 255

原创 PAT basic level 1044火星数字

【代码】PAT basic level 1044火星数字。

2024-02-24 20:57:56 95

原创 PAT basic level 1043输出PATest

【代码】PAT basic level 1043输出PATest。

2024-02-24 20:26:15 371

原创 ESP32 第9章 步进电机实验

导入Pin模块#定义按键控制对象#定义步进电机控制对象#定义按键键值key_en=1#按键扫描函数key_en=0key_en=1return 0#步进电机发送脉冲函数temp=stepif fx==0:#程序入口key=0fx1=1step1=0speed1-=1speed1+=1step1+=1step1=0。

2024-02-23 02:37:20 950

原创 ESP32 第8章 按键控制实验

导入Pin模块#定义直流电机控制对象#程序入口dc_motor.value(1) #电机开启dc_motor.value(0) #电机停止pass。

2024-02-23 02:29:40 202

原创 PAT basic level 1042字符统计

是一个引用,这样做的目的是为了避免对容器中的元素进行复制,从而提高程序的效率。使用引用可以直接访问容器中的元素,而不是通过复制一个新的对象。这种范围基于循环的语法简洁直观,常常用于遍历容器,是 C++11 提供的一种方便的循环语法。是 C++11 引入的关键字,用于自动地让编译器推断变量的类型。关键字声明变量时,编译器会根据等号右边的表达式推断出变量的类型。的作用是让编译器推断迭代变量的类型,使代码更加简洁和易读。中的下一个元素,然后循环体内的语句会被执行。(通常是一个容器)中的每个元素的值。

2024-02-22 00:20:11 145

原创 PAT basic level 1041考试座位号

【代码】PAT basic level 1041考试座位号。

2024-02-21 23:34:16 90

原创 ESP32 第7章 按键控制实验

导入Pin模块#定义按键控制对象#定义LED控制对象#定义按键键值key_en=1#按键扫描函数global key_en #全局变量time.sleep_ms(10) #消斗key_en=0key_en=1return 0#程序入口key=0i_led1,i_led2,i_led3,i_led4=0,0,0,0 #定义变量,用于LED状态翻转led1.value(i_led1) #初始化LED,熄灭状态key=key_scan() #按键扫描。

2024-02-21 03:24:18 395

原创 ESP32 第6章 继电器实验

6.1 实验介绍6.2 硬件设计6.3 软件设计6.4 实验现象

2024-02-21 03:13:59 224

原创 ESP32 第5章 蜂鸣器实验

频率对应音调,占空比对应音量。

2024-02-21 03:02:08 379 1

原创 ESP32 第4章 LED实验

同下。

2024-02-21 00:31:23 252 1

原创 PAT basic level 1040有几个PAT

真的相当精巧,举个例子辅助一下,PPAPPAT,先是两个P,再是一个A,这时countP=2,要加入到countPA中,意思是说第一个A前面有两个P,再到第二个A,此时countP=4,意思是说第二个A前面有4个P,也加入countPA中,那么countPA=6,意思是说所有的A 前面的P累计一共有6个,这六种情况都有希望组成PAT,这个例子的答案也就是6.这种方法的思想是,我们通过逐个检查字符,按顺序将 ‘P’、‘PA’ 和 ‘PAT’ 的数量分别累计起来。的值,即字符串中包含的 PAT 数量。

2024-02-20 19:28:37 154

原创 PAT basic level 1039到底买不买

【代码】PAT basic level 1039到底买不买。

2024-02-20 18:59:58 102

原创 PAT basic level 1038统计同成绩学生

使用unordered_map:使用unordered_map作为哈希表来统计元素出现的次数。unordered_map具有常数时间复杂度的查找操作,与原使用的线性查找相比,可以显著提高查找的效率,从线性查找的O(K)时间复杂度降低到常数时间复杂度O(1)。vector提供了动态调整大小和较高的访问速度,因此在某些情况下可以比原生数组更有效率。使用cout代替printf:使用了C++标准库的cout进行输出,相比于C语言的printf函数,cout可以更高效地执行输出操作。这是拿14分超时的代码。

2024-02-20 18:42:36 142

原创 PAT basic level 1037在霍格沃茨找零钱

很简单的题目愣是想了半天,很多时候都不需要那些花里胡哨的东西,最朴素的纯C解决万物。

2024-02-20 18:21:31 124

原创 PAT basic level 1036跟奥巴马一起编程

【代码】PAT basic level 1036跟奥巴马一起编程。

2024-02-20 17:55:24 94

原创 PAT basic level 1034有理数四则运算

这题属实让我汗流浃背了直接投降,先把代码放着以后再分析。

2024-02-20 17:34:33 138

原创 PAT basic level 1033旧键盘打字

最开始写的只拿了19分,还有个测试点死活找不到,有懂的可以评论解释一下。

2024-02-20 17:14:20 173

原创 PAT basic level 1032挖掘机技术哪家强

【代码】PAT basic level 1032挖掘机技术哪家强。

2024-02-20 01:17:17 444

原创 PAT basic level 1031查验身份证

【代码】PAT basic level 1031查验身份证。

2024-02-19 20:31:45 96 1

原创 PAT basic level 1030完美数列

当时的想法是最小值就是升序后的第一个,这样直接往后找最大就行,但事实上整个完美区间应该是可以整个往后移动的,比如当p=8时,数组1 2 3 8 9 10 11 12 13 14 15 16,按原代码的逻辑,以1为最小值,得到的结果为4,但若以2为最小值,得到的正确结果为11。

2024-02-19 20:04:11 127 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除