- 博客(80)
- 资源 (2)
- 收藏
- 关注
原创 vscode 的代码提示有时候有,有时候没有(python)
vscode 的代码提示有时候有,有时候没有。不太清楚为什么,把 IntelliCode 的版本换了别的也不好用。先存一下,以后遇到解决方法再来写。
2023-05-24 10:21:23 7528 7
原创 (伪)【蓝桥杯】 C++ DFS 水洼数
dfs具体的思路是:把连在一片的把W都换成 “.”。然后在一片范围内判断这些W是不是连着(上下左右有没有W),如果连着就一直替换,直到没有就加一。主函数内是:如果这个位置是W,就用dfs把和它连一片的都变了,然后加一。这样每次计数的时候都是把一片算作1,不连一起的就不算。有一个大小为N x M的园子,雨后积了很多水。八连通的积水被认为是连接在一起的。(八连通指的是下图中相对。这个是 dfs 两类中的走方块类,类似的还有迷宫、放玩具蛇等。请求出园子里总共有多少个水洼?注意的地方太多了……
2023-04-03 22:43:19 297
原创 【蓝桥杯】 C++ 七段码 DFS 并查集⭐⭐⭐
上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二 极管,分别标记为 a,b,c,d,e,f,g。在设计字符 的表达时,要求所有发光的二极管是连成一片的。,虽然很暴力,但是如果实在想不到算法这个很好理解,也很好实现,需要注意它后面列了三种特殊情况,这个有点难想。例如:b,f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。例如:a,b,c,d,e 发光,f,g 不发光可以用来表达一种字符。例如:b 发光,其他二极管不发光可以用来表达一种字符。
2023-03-21 14:48:16 589
原创 【蓝桥杯】 C++ 数字三角形 动态规划 ⭐⭐
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和(路径上的每一步只可沿左斜线向下或右斜线向下走)。输入的第一行包含一个整数 N (1≤N≤100),表示三角形的行数。下面的 N 行给出数字三角形。数字三角形上的数都是 0 至 99 之间的整数。这个题是动态规划的题目,首先根据题意发现这个和递归很像,通过子问题堆叠可以推出要求解的问题,同时动态规划通常用于最优解问题,解决这个问题比较方便。输出一个整数,表示答案。
2023-03-21 14:08:26 1820
原创 ouc 网络安全实验 格式化字符串漏洞
这个实验很难,前前后后三周左右才啃下来这个硬骨头,期间和同学以及助教讨论学习了很多,通过这门课确实学到了不少有用的东西,只要认真做实验,对漏洞这方面的理解会很深的。
2023-03-18 18:00:32 1069
原创 ouc 网络安全实验 Stack Overflow & Shellcode
本题的注入方法和上一个不一样。比如想再循环读 5 次,就应该输入 v2 的值为-3,即 s[-1]=-3,相当于 i=-3,这样 i 的值就可以被改变。由图 5-4 可看出,返回地址在栈里的位置是 ebp+4,假设输入的索引在 eax 里,数组的首地址为 ebp-18h,那么 ebp - 18h (数组首地址)+ 4 * eax (覆盖的栈的数量 * int 型 4 字节)= ebp + 4(返回地址),因此令 eax =1Ch/4,最高两位写成 10 或 11,就可以保证eax 为负数且满足覆盖条件。
2023-03-18 17:00:07 987
原创 【蓝桥杯】 C++ 玩具蛇 搜索⭐⭐⭐
第二部分是循环,如果是格子类型的题,比如这个玩具蛇,还有迷宫的题,一般是循环内部从 0 开始,找下一个格子(next),判断是否越界,格子是否被用过什么的,如果符合条件就继续,把当前的格子(找到的next)置 1 ,表示现在它用了,再调用 dfs 找当前格子(找到的next)的下一步该走哪,最后要记得把它的使用情况置 0 ,恢复初始状态。这个题属于搜索比较简单的题(因为我之前没看过搜索,但是这个题看了题解,同时看了网上的一些大佬的代码以后稍微总结出来点规律),所以猜测应该它属于比较简单的。
2023-03-18 12:48:39 126
原创 【蓝桥杯】 C++ 回文日期
下一个 ABABBABA 回文和这个类似,需要注意的是 for 循环的条件,定义从输入的这一年开始,如果从下一年开始,如果输入21210101,类似 21211212 这样的就会被略去,从 2122 年开始找,所以需要加一个判断,如果输入的这个就是 ABABBABA 型的,就找下一个,不会出现因为在同一年就被忽略的情况。先找第一个 ABCDDCBA 回文,直接放循环里面,把需要比较的位通过算数存起来,后面比一下就行,还需要对每月的天数进行限制,然后输出,注意输出的时候需要保持格式一致。
2023-03-18 10:56:24 595
原创 ouc 网络安全实验 反汇编 逆向实验
如果在第一轮,假设需要的第一个字符为 x,将二进制 x 和 0000 0000 进行异或,再加0000 0000 即为之前存进来的十六进制 66,即 0110 0110,因此 x 为 0110 0110,换为字符即“f”。如果当前为第一轮,假设第一个数为 x,为八位二进制数,x 和 0000 0000 进行异或,结果是 0x66(0110 0110),可计算出 x 为 0110 0110,对每一位进行计算,即可通关。比如某个字符串是“abc”,把编译出来的十六进制字符转字符串后,得到的结果是“cba”。
2023-03-15 21:32:30 694
原创 【蓝桥杯】 C++ 卡片
小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。思路是对每一个数字的每一位数都遍历,存储出现的次数,同时判断它是不是到了 2021,如果是的话就break。现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从。小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。
2023-03-13 19:04:50 367
原创 【蓝桥杯】 C++ 试题 基础练习 数列排序
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。函数的使用,以及输出指定字符串的时候格式要求。
2023-03-13 15:25:14 108
原创 【蓝桥杯】 C++ 数的分解
未优化的思路就是三个循环暴力解,因为不需要重复解,所以在 for 循环内部可以先简单优化一下,让每一个循环变量从前一个开始。然后在循环内部判断数字是否包含 2 或者 4 ,最后的循环内部判断三个数加起来是否为 2019 ,如果是,count++,最后输出。把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法。优化后的思路是进行两次循环,第三个数通过前两次循环算出来,再判断是否有 2 或者 4,然后约束其比第二个数大,就可以了。
2023-03-13 15:02:25 629
原创 【蓝桥杯】 C++ 货物摆放
首先是找出这个大数的约数,再通过循环把约数之间乘起来,如果最后得到的结果是 n,就有一种摆放方法。注意类型,要开longlong,不然会报错。
2023-03-13 13:32:50 226
原创 【蓝桥杯】 C++ 顺子日期
顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123;而 20221023 则不是一个顺子日期,它一个顺子也没有。,但是不可能有 34 月,所以前四位不会出现顺子日期,因此只看后四位就可以。后四位一位一位来,第三位可以用第二位加 1,循环内部判断月份和日期是否合格,再判断是否顺子。注意这个题的思路,每一位进行遍历,再判断就可以。注意每个月的日期要写。
2023-03-13 13:02:46 1063
原创 【蓝桥杯】 C++ 特殊时间
2022 年 2 月 22 日 22:20 是一个很有意义的时间, 年份为 2022 , 由 3 个 2 和 1 个 0 组成, 如果将月和日写成 4 位, 为 0222 , 也是由 3 个 2 和 1 个 0 组 成, 如果将时间中的时和分写成 4 位, 还是由 3 个 2 和 1 个 0 组成。请问, 总共有多少个时间是这种年份写成 4 位、月日写成 4 位、时间写成 4 位后由 3 个一种数字和 1 个另一种数字组成。注意 1111 年 11 月 11 日 11:11 不算,因为它里面没有两种数字。
2023-03-13 12:27:41 357
原创 【蓝桥杯】 C++ 门牌制作
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符。本代码的思路是从 1 到 2020 都循环一次,判断每个数的每一位是不是 2 ,是的话 count +1,最后输出 count。注意下面这一段,while 的条件应该是 shang>0,不是 yu>0 ,否则出现一个 0 的时候就会停。1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?
2023-02-06 19:34:11 235
原创 【蓝桥杯】 C++ 相乘
小蓝发现,他将 1 至 1000000007 之间的不同的数与2021 相乘后再求除以 1000000007 的余数,会得到不同的数。小蓝想知道,能不能在 1 至 1000000007 之间找到一个数,与 2021 相乘后 再除以 1000000007 后的余数为 999999999。如果存在,请在答案中提交这个数;如果不存在,请在答案中提交 0。的类型也是 long long,之前习惯性设成 int 型了,所以没运行出答案。本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
2023-02-05 21:32:34 181
原创 【蓝桥杯】 C++ 时间显示
因为 1 小时等于 3600 秒,HH 在计算的时候直接除 3600,得到的结果再模 24,因为小时数小于 24。SS 相似,毫秒变秒之后模 3600,得到相对于 1 小时多出来的秒数,再模 60,得到相对于 1 分钟多出来的秒数,就可以解决,之后根据格式输出。输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 0 到 23,MM 表示分,值为 0 到 59,SS 表示秒,值为 0 到 59。首先先把毫秒换成秒,把它除以1000,也就是。
2023-02-02 19:38:04 1681
原创 【蓝桥杯】 C++ 既约分数
首先循环分子和分母,在循环里判断它们是否为既约分数,如果是就给 count 加 1,不是的话继续循环。判断既约分数的函数很好写,输入两个数,判断两个数是否有共同的约数,如果有就返回 0,循环结束都没有返回 0,就返回 1,表明这两个数是既约分数。请问,有多少个既约分数,分子和分母都是 1 到 2020 之间的整数(包括 1 和 2020)?本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。
2023-02-02 18:51:42 308
原创 【蓝桥杯】 C++ 单词分析
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。注意两个 for 循环范围不一样。然后在存进来的 num 里面找最大值, 因为存的时候就是按顺序来的,所以最多次数字母只需要加 ‘a’ 就可以。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
2023-02-02 18:41:07 222
原创 【蓝桥杯】 C++ 空间
类型除 32,但是忽略了它的范围就是256MB-1b。也就是 longlong 最大值2147483647(256MB-1b) + 1 = -2147483648 ,所以longlong没法用,只能手算。小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32 位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问 256MB 的空间可以存储多少个 32 位二进制整数?注意没代码能实现……
2023-02-01 17:50:32 261
原创 【蓝桥杯】 C++ ASC
已知大写字母 A 的 ASCII 码为 65,请问大写字母 L 的 ASCII 码是多少?本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。型的 ASCII码 可以直接强制转为。直接输出 ASCII码 就可以。
2023-02-01 16:53:20 181
原创 【蓝桥杯】 C++ 天干地支
所以以庚子年为基准,然后从当前年份往前数到最小的 40,再往前数 60 到 -20(这样减的时候不会出问题)。地支一共有十二个,分别为:子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、 亥(hài)。天干一共有十个,分别为:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)。输入一行包含一个正整数,表示公元年份。
2023-02-01 15:15:32 382
原创 【蓝桥杯】 C++ ISBN 号码
你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出 Right。每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字、1 位识别码和 3 位分隔符,其规定格式如 “x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4 就是一个标准的 ISBN 码;输出一行,假如输入的 ISBN 号码的识别码正确,那么输出 Right,否则,按照规定的格式,输出正确的 ISBN 号码(包括分隔符“-”)
2023-01-28 15:15:07 2167
原创 【蓝桥杯】 C++ 数字反转
我的思路是先判断数字是正数还是负数,然后把输入的数字的每一位都存到数组里面,之后循环输出数组内的数,遇到末位是 0 就不输出。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见实例 2)。这一句是重点,把原来的个位作为现在这个的首位,类似 n 进制转化为十进制,一种方法是根据每一位的权值依次加起来,另一种是从首位开始,b 在这里相当于是新的十进制数,a 是当前计算位的后一位,这样循环加到最后一位。输出共 1 行,一个整数,表示反转后的新数。
2023-01-19 23:05:16 1190
原创 Visual Studio Code (vscode)配置LaTeX
知乎上一位大佬写的 Visual Studio Code (vscode) 配置 LaTeX的过程,很详细,先存一下以备不时之需。
2023-01-19 18:14:31 256
原创 【蓝桥杯】 C++ 数位排序
小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。当 两个数各个数位之和不同时, 将数位和较小的排在前面, 当数位之和相等时, 将数值小的排在前面。例如, 2022 排在 409 前面, 因为 2022 的数位之和是 6, 小于 409 的数位之和 13。题目要求对数位和排序,则需要一个数组对其进行记录。又如, 6 排在 2022 前面, 因为它们的数位之和相同, 而 6 小于 2022。函数在排序的时候需要注意,因为前面是从 1 开始的,所以排序的首位也要加 1。
2023-01-19 17:37:53 3444 2
原创 【蓝桥杯】 C++ 排列字母
又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY。本来我的想法是对每个字母都进行计数,然后按顺序输出。但是看了教程发现老师的做法是真的快,而且让我对。本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝要把一个字符串中的字母按其在字母表中的顺序排列。例如,LANQIAO 排列后为 AAILNOQ。请问对于以下字符串,排列之后字符串是什么?,比赛用这个很方便。
2023-01-18 15:23:07 2041
原创 【蓝桥杯】 C++ 纸张尺寸
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm, 将 A0 纸 沿长边对折后为 A1 纸, 大小为 841mm × 594mm, 在对折的过程中长度直接取下整 (实际裁剪时可能有损耗)。输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。以及很多次出现这种问题了!And 这道题我的解法其实也是有一点投机取巧的感觉在的,开始想的一个方法是写一个。输出两行,每行包含一个整数,依次表示长边和短边的长度。
2023-01-17 15:33:54 521
原创 【蓝桥杯】 C++ 跑步锻炼
小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。,对年份要进行判断,而且注意判断逻辑。对于ifelse语句,以后要注意写全。其次注意截止时间是2020年10月1日(含),在循环里要有 break。,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
2023-01-17 14:37:51 371
原创 【蓝桥杯】 C++ 刷题统计
小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?等于 0 的时候的情况,导致出了错误。在题库练的时候还好,比赛的时候也看不见结果,得多细心点。输入一行包含三个整数 a, b 和 n.还需要注意题目里给的范围,一个是。自己写的时候,没注意到当。输出一个整数代表天数。
2023-01-13 17:11:32 4753 1
原创 【蓝桥杯】 C++ 成绩分析
输入的第一行包含一个整数 n\ (1 ≤ n ≤ 10^4)n (1≤n≤10 4 ),表示考试人数。小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。后来改成上一句,就全部正确通过。请计算这次考试的最高分、最低分和平均分。第一行包含一个整数,表示最高分。第二行包含一个整数,表示最低分。一定注意整数除整数的情况。
2023-01-13 14:30:28 564
原创 【蓝桥杯】 C++ 成绩统计
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。数据类型要注意,最重要的是。这句,整数变成浮点数要。,以及注意四舍五入。
2023-01-13 11:51:58 668
原创 【蓝桥杯】 C++ 试题 基础练习 十六进制转十进制
这个博主写到的字符串最后的 ‘\0’ (表示字符串结束)的问题确实没考虑到。但是感觉其实不用考虑这个问题(我瞎猜的),因为不知道这么干的必要性是什么。从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
2022-11-23 23:51:56 340
原创 【蓝桥杯】 C++ 试题 基础练习 十进制转十六进制
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。语句,开始写的程序在数字小于 10 的时候,在数组里直接插入了余数,插入的是。输入包含一个非负整数a,表示要转换的数。型,导致输出的不对。给出一个非负整数,将它表示成十六进制的形式。
2022-11-19 13:49:23 714
原创 【蓝桥杯】 C++ 试题 基础练习 特殊回文数
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。123321是一个非常特殊的数,它从左边读和从右边读是一样的。这个和上一个回文数思想差不多,但是中间有很多细节需要注意。按从小到大的顺序输出满足条件的整数,每个整数占一行。输入一行,包含一个正整数n。
2022-11-19 13:17:37 542
原创 【蓝桥杯】 C++ 试题 基础练习 回文数
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。其他博主都是很多数据循环判断,我这个算是钻了个空子吧。按从小到大的顺序输出满足条件的四位十进制数。
2022-11-19 00:07:44 416
人体检测梯度方向直方图 Histograms of Oriented Gradients for Human Detection
2022-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人