- 博客(14)
- 收藏
- 关注
原创 Horspool算法(字符串匹配)
移动距离的计算:首先规定,文本串和模式串都仅有26个大写字母构成(简化,原理相同),然后创建一个大小为26的数组,依次对应A-Z,然后如果该c位字符不在模式串中,直接设置改c位字符的移动距离为模式串的长度,如果该c位字符在模式串中,就向后移动该c位字符在模式串中最靠右出现的地方距离模式串最后一个字符的距离。具体过程:首先该算法每次匹配的时候,会把模式串的最后一个字符与文本串中对齐的那个字符设定为c位(是文本串中的那个字符),每次匹配失败后,向后移动处于c位的字符对应的事先计算好的距离。
2024-04-08 17:02:15 168
原创 CCF-CSP 202312-2 因子化简
思路:首先一个可以由题目所示方法表示,则其中最大的素数,且系数为1的素数不会超过根号n,因此,我们可以首先创建一个大小为10的6次方的全局数组,把对应下标为素数的值标记为1。然后从大到小遍历,让n从大到小去除以这些素数,并且每除一次就把该下标的值++。这样就可以得到n的素数表示。
2024-03-05 20:34:53 165 1
原创 赢球票(蓝桥)
再从 2 号卡开始,但数的数字无法与卡片对上,很快数字越来越大,不可能再拿走卡片了。本题的目标:已知顺时针卡片序列,随便你从哪里开始数,求最多能赢多少张球票(就是收入囊中的卡片数字之和)如果我们开始就傻傻地从 2 或 3 号卡片数起,那就一张卡片都拿不到了。如果数到的数字刚好和卡片上的数字相同,则把该卡片收入囊中,从下一个卡片重新数数。囊中卡片数字的和就是赢得球票的张数。如果运气好,卡片排列是 2 1 3,那我们可以顺利拿到所有的卡片!输出一行,一个整数,表示最好情况下能赢得多少张球票。
2023-03-20 08:50:38 148
原创 生成元(Digit Generator,ACM/ICPC Seoul2005,UVa1583)
问题描述:如果x加上x的各个位数之和得到y,则称x是y的生成元。给出n(1
2022-12-07 17:06:36 176
原创 蛇形填数。
问题描述:在n*n的方阵里填入1,2,3.....n。要求填成蛇形。思路分析:从1开始填写,设“笔”的坐标为(x,y),一开始x=0,y=0,即第一行第一列,然后笔向右移动.....,笔的运动轨迹为右,右,右,右,下,下,下,下.........。总之,可以得出结论:笔的移动顺序为右,下,左,上,每个方向移动到不能移动为止,即到达数组边界或准备移动的位置已被填过。
2022-12-05 23:22:50 436
原创 学生成绩管理系统1.0
(1)录入每个学生的学号和考试成绩;(2)计算课程的总分和平均分;(3)按成绩由高到低排出名次表;(4)按学号由小到大排出成绩表;(5)按学号查询学生排名及其考试成绩;(6)按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比;(7)输出每个学生的学号、考试成绩。
2022-10-28 15:14:15 422
原创 纸牌游戏——小猫钓鱼
游戏规则:将一副纸牌分成两份,一人一份,然后依次出牌到桌面上,但一人出的牌为桌面上没有的牌时,则下一个人出牌,反之,则出牌人将自己出的牌和桌面上与自己相同的牌之间的所有牌拿回手中并放到最下面,但一人手中牌出完时游戏结束,该人为输。提示:该题主要考察对 队列 和 栈 的理解和应用,两人手中的牌可以抽象为队列,先进先出;而桌面上的牌可以抽象为栈,先进后出。
2022-10-22 19:07:50 2213 1
原创 一维数组实验题:计算平均数、中位数和众数
提示:计算中位数时,首先要调用排序函数对数组按升序进行排序,然后取出排序后数组中间位置的元素answer[n/2] ,就得到了中位数。计算众数时,首先要统计不同取值的输入数据出现的次数,然后找出出现次数最多的那个数据,这个数据就是众数(这里没有考虑两个或者两个以上的输入数据出现次数相同的情况)。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平均数(Mean)、中位数(Median)和众数(Mode)。众数是数组中出现次数最多的那个数(不考虑两个或两个以上的输入数据出现次数相同的情况)。
2022-10-09 23:03:06 1029
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人