摘要: 主要的界面设计好后,我们来看下非核心功能的实现。由于这块不需要用到稍微复杂的算法,解决起来相对来说容易许多,于是我们选择先实现这部分非核心功能,这块几乎不涉及游戏的核心逻辑。 游戏界面如下: 这时我们需要完成的功能如下: (1) 按下设置按钮,可以设置游戏的花色数和游戏总时长,规定只可成功设置一次 阅读全文
posted @ 2021-06-30 23:52 sparkyen 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 虽然开发经验并不多,但是结合以往的一点实践项目和理论学习,自认为不管是开发什么工程项目,只要遵循软件工程的构建原则,如选择一个合理的架构体系,再掌握一门语言,利用数据结构组织数据,算法实现想法和功能,最后合理利用现有的软件工具就能做出我们想要的产品 由于连连看这个游戏不需要很复杂的架构组织,解耦等, 阅读全文
posted @ 2021-06-30 09:06 sparkyen 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 我们先来制作两个简单的页面 一、主界面 要求在main.cpp里面设置对应的槽函数 (1) 点击开始游戏能跳转到游戏界面 (2) 点击帮助能够显示游戏说明,如下 二、游戏界面 要求如下: (3) 初始只有开始游戏、设置、帮助按钮能够按下,其他按键为灰色不能按下 (4) 设置按键按下后弹出下面界面,并 阅读全文
posted @ 2021-06-30 08:57 sparkyen 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 入门 数组分组 题意: 一个数组可被分为n组,整个数组的权值被定义为各组内数字之积对1000取模后的总和,求数组的最大权值 思路: 我们用dp[i]表示前i个数分组的最大权值,对于位置i,我们可以枚举最后一个分组的起始位置为j,计算i,j之间的权值,然后更新dp[i]即可。 为了避免过多的计算,我们 阅读全文
posted @ 2021-04-10 21:00 sparkyen 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 二分 1010 Radix (25分) 题目的大意是,给你两个数,N1和N2,给定其中一个数的基数,然后求另一个数的基数,使得两个数相等 这题有的地方没有给清楚,感觉有点小问题。给定标签的数不会溢出,而未给定标签的数是会溢出long long的,这点题目没有直接说明,溢出的部分需要用<0去判断。再就 阅读全文
posted @ 2021-03-06 16:50 sparkyen 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 阅读全文
posted @ 2021-03-06 10:27 sparkyen 阅读(3898) 评论(0) 推荐(0) 编辑
摘要: 类型名称 取值范围 数量级 int -2^31~(2^31-1) 2^31=2,147,483,648 10^9 unsigned int 0~(2^32-1) 2^32=4,294,967,296 10^9 long long (_int64) -2^63~(2^63-1) 2^63=9,223, 阅读全文
posted @ 2021-03-06 09:47 sparkyen 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 1.简单数学 1008 Elevator (20分) 模拟题 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <iostream> #include <map> #include 阅读全文
posted @ 2021-03-05 19:34 sparkyen 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 1.图的遍历 1013 Battle Over Cities (25 分) 一种方法使用dfs求连通块的个数 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <iostream> 阅读全文
posted @ 2021-02-26 01:18 sparkyen 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1.树的遍历 1004 Counting Leaves (30分) 基本的数据结构——树,复习了链式前向星,bfs遍历判断即可 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include < 阅读全文
posted @ 2021-02-18 10:23 sparkyen 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.BFS 1091 Acute Stroke (30point(s)) 基础的搜索,但是直接用递归会导致段错误,改用队列之后就不会了,这说明递归调用在空间利用率上还是很吃亏的。 #include <cstdio> #include <cstring> #include <string> #incl 阅读全文
posted @ 2021-01-28 11:23 sparkyen 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1032 Sharing (25分) 回顾了下链表的基本使用,这题就是判断两个链表是否有交叉点。 我最开始的做法就是用cnt[]记录每个节点的入度,发现入度为2的节点即为答案。后来发现这里忽略了两个链表初始节点都是一样的情况,于是这里cnt[]的含义变为每个节点被引用的次数,当一个节点被引用两次就说 阅读全文
posted @ 2021-01-24 22:49 sparkyen 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1.Stack 1051 Pop Sequence (25分) 简答的栈模拟题,只要把过程想清楚就能做出来。 扫描到某个元素时候,假如比栈顶元素还大,说明包括其本身的在内的数字都应该入栈。将栈顶元素和序列比对即可,相同则弹栈,继续扫描;否则无法生成满足条件的序列。注意栈满时不能入栈 #include 阅读全文
posted @ 2021-01-17 15:21 sparkyen 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 考虑到PAT甲级考试和开学后的XCPC比赛,决定寒假把PAT (Advanced Level) Practice刷完,进度条会在这篇博客下更新。由于主要以记录为主,大体上不会像单篇题解那么详细,但是对问题的思考,代码的简洁性、可读性还是有保障的,欢迎看到的小伙伴和我讨论 2021.1.10 1001 阅读全文
posted @ 2021-01-10 12:50 sparkyen 阅读(322) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-25 15:26 sparkyen 阅读(8) 评论(0) 推荐(0) 编辑