PTA-学校-数据结构(出栈序列的合法性、包装机、用两个栈实现队列、算式拆解)
2-6 出栈序列的合法性 分数 6 作者 陈越 单位 浙江大学 给定一个最大容量为 m 的堆栈,将 n 个数字按 1, 2, 3, …, n 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 m=5、n=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。 输入格式: 输入第一行给出 3 个不超过 1000 的正整数:m(堆栈最大容量)、n(入栈元素个数)、k(待检查的出栈序列个数)。最后 k 行,每行给出 n 个数字的出栈序列。所有同行数字以空格间隔。 输出格式: 对每一行出栈序列,如果其的确是有可能得到的合法序列,就在一行中输出YES,否则输出NO。 输入样例: 5 7 51 2 3 4 5 6 73 2 1 7 5 6 47 6 5 4 3 2 15 6 4 3 7 2 11 7 6 5 4 3 2 输出样例: YESNONOYESNO 解析 #include <iostream>#include <stack>using namespace std;i...
PTA-学校-数据结构(栈操作的合法性、逆波兰表达式求值)
2-4 栈操作的合法性 分数 6 作者 DS课程组 单位 浙江大学 假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。 输入格式: 输入第一行给出两个正整数 n 和 m,其中 n 是待测序列的个数,m(≤50)是堆栈的最大容量。随后 n 行,每行中给出一个仅由S和X构成的序列。序列保证不为空,且长度不超过100。 输出格式: 对每个序列,在一行中输出YES如果该序列是合法的堆栈操作序列,或NO如果不是。 输入样例: 4 10SSSXXSXXSXSSSXXSXXSSSSSSSSSSSXSSXXXXXXXXXXXSSSXXSXXX 输出样例: YESNONONO 解析 #include <iostream>#include <string>using namespace std;int main() { int n, m; cin >> n >> m...
2025毛概学习通课后习题集合
通过网盘分享的文件:集合-Bronze 王.docx 链接: https://pan.baidu.com/s/13R4cEurzWPutf2jqJKO3EQ?pwd=fhqv 提取码: fhqv –来自百度网盘超级会员v5的分享
Hexo Butterfly 主题添加 clustrmaps 访客地图教程
Hexo Butterfly 主题添加 clustrmaps 访客地图教程 一、前言 本文是针对 Hexo Butterfly 主题的美化教程,核心是为个人博客添加 clustrmaps 访客地图。教程部分部署过程中可能出现的问题,适合刚上手的用户参考. 二、前置步骤(获取 clustrmaps 地图代码) 1. 注册账号 访问 clustrmaps 官网(https://clustrmaps.com/),完成账号注册或登录操作。 2. 选择地图工具 点击官网中 Free Tools 下 Website Map Widget 对应的 “Get Map Widget” 选项。 3. 输入博客网址 在跳转页面的地址输入框中,粘贴自己的博客完整网址(例如:https://XXXXXX.github.io/),然后点击 “Next”。 4. 选择地图模板 提供两种模板可选:Map widget 和 Globe Widget beta,选择喜欢的模板后点击 “Select”。 5. 复制核心代码 生成 widget 代码后,提取<script>标签中src="...
Hexo Butterfly 主题注册并配置腾讯定位工具
Hexo Butterfly 主题注册并配置腾讯定位工具 先在腾讯定位工具中注册,然后进入“我的应用”,点击“创建应用”,应用名称和类型随便填。在新创建的应用中点击添加key,key的名称也是随便起一个就行,产品选择WebServiceAPI,域名白名单填自己的域名和localhost,把得到的key记下。如下图: 这里有几个注意点: 第一就是上面说的加上localhost是指加上localhost:4000,因为我们预览博客的时候是使用hexo s在本地进行预览,端口是localhost:4000,所以要把这个地址加进白名单 第二就是填写我们的域名的时候一定要填小写,不要填大写 第三我们可以把白名单留空,无限制 第四就是在创建应用完成后我们点击左侧的“配额管理”,进入“账户额度”界面,我们会发现有一个“ip定位”的选项,如下图所示: 点击右侧的“配额分配”,把调用分配全部点满即可,对于我们的小网站,一天10000次绝对够用了,其他的不需要点,配额结束之后保存即可。 OK现在我们已经完成了这个定位工具的配置,我们返回首页“我的应用,会看到一个6*5的key,我们保存下来一会...
PTA-学校-数据结构(列车厢调度、符号配对)
2-2 列车厢调度 分数 5 作者 周强 单位 青岛大学 1 ====== <--移动方向 /3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下: 有三条平行的列车轨道(1、2、3)以及1-3和2-3两段连接轨道。现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道。规则是: 每次转移1节车厢; 处在1号轨道的车厢要么经过1-3连接道进入3号轨道(该操作记为"1->3"),要么经过两条连接轨道直接进入2号轨道(该操作记为"1->2"); 一旦车厢进入2号轨道,就不可以再移出该轨道; 处在3号轨道的车厢,只能经过2-3连接道进入2号轨道(该操作记为"3->2"); 显然,任何车厢不能穿过、跨越或绕过其它车厢进行移动。 对...
程序设计考试总结
程序设计考试总结 1.排序(冒泡算法) 冒泡排序是一种简单直观的排序算法,核心思想是通过重复遍历待排序序列,每次比较相邻的两个元素,若顺序错误则交换它们的位置,直到没有元素需要交换,排序完成。因其每轮会将最大(或最小)的元素 “浮” 到序列末端,类似气泡上升,故得名 “冒泡排序”。 一、核心原理 比较与交换:从序列起始位置开始,依次比较相邻的两个元素,若前一个元素大于后一个元素(升序排序),则交换两者位置。 一轮 “冒泡”:每完成一轮遍历,当前序列中最大的元素会被 “推” 到序列的末尾(无需再参与后续比较)。 重复执行:减少待排序序列的长度(排除已 “冒泡” 到末尾的元素),重复上述过程,直到整个序列有序。 二、排序步骤(以升序为例) 假设有待排序数组 [3, 1, 4, 1, 5, 9, 2, 6],步骤如下: 第 1 轮:比较所有相邻元素,将最大元素 9 “浮” 到末尾,数组变为 [1, 3, 1, 4, 2, 5, 6, 9](最后一个元素 9 已确定)。 第 2 轮:比较前 7 个元素,将次大元素 6 “浮” 到第 7 位,数组变为 [1, 1, 3, 2, 4, ...
