自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 别(狗)叫,这个大整数已经很简化了!

多组数据,每组数据是两个非负整数s和 n。s最多可能200位, n用int能表示。对每组数据,输出6行,内容对应程序中6个输出语句。依题目 不要狗叫 直接上代码↓。

2023-12-01 10:42:52 465

原创 Fun和Do (超详细解析版)

3. 根据第一行输出A::Fun 可以知道一定是调用了 A类中的函数Fun 而A类中Fun函数不是虚函数 所以会被C类中的Fun函数覆盖掉 如果是C类对象p 那么p.Fun调用的会是C类中的函数Fun 为了输出A::Fun 则应该调用A类中的Fun函数 所以应该是B类的引用(因为B类继承了A类的公有成员函数Fun) 所以B类引用p p.Fun会输出A::Fun。1. 先看第一行题目要求输出 A::Fun 这个由类A的公有函数输出的 而第二行输出 C::Do 是由类C中的Do函数输出。

2023-11-30 19:18:30 552

原创 Python正则表达式054:电话号码

通过完成该题 对python正则表达式掌握更熟练

2023-10-16 20:58:49 158

原创 Python程序设计文件处理作业

2) 对 students 里的每个元素,split出学号部分和姓名部分,然后到整个 score里面去找,学号部分或姓名部分如果能够在score里面找到,split找到的那个score元素,得到分数,再算成绩,输出。有的学生昵称是学号,有的是姓名,有的是姓名学号都有。4) 生成id.txt里面有的所有学生的成绩,按学号排序输出到指定的结果文件。注意:源文件和目标文件里面的分隔符,都不是空格,都是制表符 \t (Tab)1) 把 id.txt全部读到一个列表里面,每个元素一行,就是一个学生的信息。

2023-10-01 19:06:29 97

原创 Python031:多少种取法

从 1到m这m个数里面,取0个数,使得它们的和是s(s>0),有几种取法?例如:从 1-m这m个数里面,取0个数,使得它们的和是0,有几种取法?1. 边界条件(即递归终止条件,即不需要递归的条件)一般是n,m,s =0, =1之类的情况。给定三个正整数m,n,s问从1到m这m个数里面取n个不同的数,使它们和是s,有多少种取法。2. 考虑如果 m > s, 即比s大的是没法取的,要砍掉,即让m = s。第二类: 不取m,那就向下取,在1~(m-1)里取,即n,s不变,m-1。对每组数据,输出答案。

2023-09-13 10:38:58 206

原创 Python小数运算失精问题

我们可以用这种处理办法来避免这种错误:如果一个小数与跟它最接近的整数n的差的绝对值非常小,我们就可以认为,这个小数其实就等于整数n。我们只需要将这个数进行四舍五入到整数后与它本身相减,如果他们的绝对值小于一个很小的数,我们可以忽略这种误差时,就把他当作整数。一个位数有限的十进制小数,如0.7,表示成二进制形式,很可能就变成无限循环小数,而计算机显然无法存放无限循环小数,那么只能四舍五入,导致误差)摄氏温度的格式是一个整数或小数后面加'C'或'c',华氏温度的格式是一个整数或小数后面加'F'或'f'。

2023-09-04 10:29:10 296

原创 NOI 3341:Set

ask 先输出0或1表示x是否曾被加入集合(0表示不曾加入),再输出当前集合中x的个数,中间用空格格开。有提示 用multiset还是挺简单的 再来两个map记录个数和是否出现。现有一整数集(允许有重复元素),初始为空。后面n行命令,如Description中所述。del x 把集合中所有与x相等的元素删除。ask x 对集合中元素x的情况询问。对每种操作,我们要求进行如下输出。add 输出操作后集合中x的个数。del 输出操作前集合中x的个数。add x 把x加入集合。共n行,每行按要求输出。

2023-07-06 14:03:01 37

原创 NOI 1806:词典

首先输入一个词典,词典中包含不超过100000个词条,每个词条占据一行。每一个词条包括一个英文单词和一个外语单词,两个单词之间用一个空格隔开。而且在词典中不会有某个外语单词出现超过两次。词典之后是一个空行,然后给出一个由外语单词组成的文档,文档不超过100000行,而且每行只包括一个外语单词。输入中出现单词只包括小写字母,而且长度不会超过10。在输出中,你需要把输入文档翻译成英文,每行输出一个英文单词。如果某个外语单词不在词典中,就把这个单词翻译成“eh”。不过幸运的是,你有一本词典可以帮助你。

2023-07-06 14:01:36 181

原创 NOI 310:Is It A Tree?

这题就是判断给出的数据是不是一棵树 每棵树输入 0 0 分界 当输入-1 -1时结束。我是直接判断 但这题并查集好像会好点 然后漏掉了空树这个点 考虑不充分。

2023-07-01 22:00:57 43

原创 NOI 2405:Avoid The Lakes

这题也是简单的搜索 就是看看最大的湖泊 在上下左右的水泊变成一个湖泊 dfs。

2023-07-01 20:26:33 35

原创 NOI 2724:围棋

一个目的上下左右四个方向,称之为“气”,如果一个目的四个方向都被某一种颜色的棋子占据,那么即使这个目上并没有棋子,仍然认为这个目被该颜色棋子占据。输入数据中保证所有的目,不是被黑棋包裹,就是被白棋包裹。推而广之,当有多个目互相连通的时候,如果能用一种颜色把所有交点的气都包裹住,那么就拥有所有目。只有一行,包含用空格分隔的两个数字,第一个数是黑棋的目数,第二个数是白棋的目数。如下图中,四个黑棋中心的交点,由于被黑棋包围,因此我们认为这个目属于黑棋,第2~n+1行,每行n个字符,代表棋盘上的棋子颜色。

2023-07-01 18:29:35 92

原创 NOI 2726:集合问题

这题我一开始想的是一遍过,就是每次取出小根堆的顶元素没然后将他和原来的对比,如果加上他,与最大值差的绝对值更小,那么就加上他,如果更大或者等于就再开一个集合(即把这个元素加入堆里),结果一直卡4分。现要将它们划分成N个集合,使得每个集合的元素之和与M的差的绝对值的和最小。求使得各集合的偏差之和最小的划分方案中,集合的数目N。如果这样的方案不止一种,则输出各方案中,集合数最大的那种方案的集合数N。最后看了一下别人的code,分析了一下,阅读水平不太够,题目说:“使得每个集合的元素之和与M的差的绝对值的。

2023-07-01 17:19:30 88

原创 NOI 2729:Blah数集

然后判断哪个队列的首元素比较小就先弹出,相等时两个都弹出(因为Blah数集是自然数集合,就没有重复的元素),这样子他们两个队列里面的元素一定就是从小到大排序(因为n是从小到大增大的),同时对弹出的计数,第n个极为答案。这题一开始我是用一个vector和一个queue,queue弹出一个x就装进vector里,并把(2 * x + 1)和(3 * x +1)放进queue里,然后直到vector里的元素达到n个时跳出来,再排序输出最后一个就是第n个,样例直接寄。对于每个输入,输出集合Ba的第n个元素值。

2023-06-27 20:53:50 653

原创 NOI 1696:波兰表达式

波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的波兰表示法为+ 2 3。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的波兰表示法为* + 2 3 4。本题求解波兰表达式的值,其中运算符包括+ - * /四个。可使用atof(str)把字符串转换为一个double类型的浮点数。输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。可直接用printf("%f\n", v)输出表达式的值v。输出为一行,表达式的值。

2023-06-24 21:45:07 325

原创 NOI 6379:统计学生信息(使用动态链表完成)

这题本来呢挺简单的 结果我内存爆了 然后后面看其他大佬的 发现直接用string存每一行就好了 不需要像我这样存好多行。其中,学号长度不超过20, 姓名长度不超过40, 性别长度为1, 地址长度不超过40。利用动态链表记录从标准输入输入的学生信息(学号、姓名、性别、年龄、得分、地址)学号 姓名 性别 年龄 得分 地址。输入的最后以"end"结束。将输入的内容倒序输出。

2023-06-23 21:34:22 218

原创 NOI 6378:删除数组中的元素(链表)

要删除的数是3,删除以后,链表中只剩14个元素:1 0 -3 5 6 8 10 22 -1 5 11 20 100 9。假定给出的整数序列为:1,3,3,0,-3,5,6,8,3,10,22,-1,3,5,11,20,100,3,9,3。每个整数之间用空格分隔;程序中必须有链表的相关操作:建立链表,删除元素,输出删除后链表中元素,释放链表。将数组内所有待删除元素删除以后,输出数组内的剩余元素的值,每个整数之间用空格分隔。第三行是一个整数k,代表待删除元素的值(k的取值也在32位有符号整数范围内)。

2023-06-23 20:31:14 262

原创 NOI 1748:约瑟夫问题

感觉下标绕来绕去 晕死了 就想到了直接用vector同态数组来存 但又有一个问题出现了 就是你的猴子的号码无法记住 于是我就一开始直接就是把号码存进去 这样就会好很多 然后在通过动态数组的背景 进行猴子淘汰就很方便了 最后数组只剩一个猴子时 他就是king 泰裤辣!约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

2023-06-22 23:07:41 222

原创 NOI 6377:生日相同 2.0

每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的名字,数字、名字之间都用一个空格分隔。对所有的输出,要求按日期从前到后的顺序输出。对生日相同的名字,按名字从短到长按序输出,长度相同的按字典序输出。此后每行包含一个字符串和两个整数,分别表示学生的名字(名字第一个字母大写,其余小写,不含空格,且长度小于20)和出生月(1 ≤ m ≤ 12)日(1 ≤ d ≤ 31)。在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。

2023-06-22 22:32:13 189

原创 2023年SF-X【未来科技赛道-编程方向】半决赛 补题

2023年SF-X【未来科技赛道-编程方向】半决赛 补题

2023-06-05 17:10:27 110

原创 23.5.31 22数据结构阶段测试1补题

分数 25 提交通过率 0/166(0.00%)2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名。好事者发现冰岛人的名字后面似乎都有个“松”(son),于是有网友科普如下:冰岛人沿用的是维京人古老的父系姓制,孩子的姓等于父亲的名加后缀,如果是儿子就加 sson,女儿则加 sdottir。

2023-06-01 16:49:54 59

原创 关于cin cout解锁后与scanf printf速度的一些看法

事情是这样的,自从上次比赛cin cout超时后一两个星期,我都强迫自己除了需要读入输出字符串时用cin >> s;cout

2023-05-26 17:23:13 225 2

原创 PTA 互评成绩

学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。

2023-05-26 15:07:17 114

原创 PTA 打印学生选课清单

假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。注意:每门课程的选课人数不可超过 200 人。

2023-05-23 21:27:29 232

原创 PTA 字符串关键字的散列映射

给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位;再用除留余数法将整数映射到长度为P的散列表中。例如将字符串AZDEG插入长度为1009的散列表中,我们首先将26个大写英文字母顺序映射到整数0~25;再通过移位将其映射为3×322+4×32+6=3206;然后根据表长得到3206%1009=179,即是该字符串的散列映射位置。发生冲突时请用平方探测法解决。

2023-05-23 21:20:23 114 2

原创 PTA 520钻石争霸赛 2023 补题

520-1 520无尽爱 520-2 心动指数 520-3 不要怕,爱! 520-4 天生一对 520-5 翻倒数 520-6 情侣数 520-7 撒狗粮 520-8 相亲大会

2023-05-23 16:00:18 276

原创 PTA 剿灭魔教

剿灭了魔教的分舵,五行侠杨凡提出一个建议:在魔教的分舵里设下机关,然后诱魔教的部队进入机关阵,再发动机关阵,一举消灭魔教部队。这个计划得到了一行人的一致赞同。杨帆拿出了安装机关所需要的总计N个部件,告诉了大家安装的两个注意事项:1、某些部件安装时需要另一些部件已安装。例如要安装滑轮,必须先安装好支架。2、当一些部件都可以安装时,应当先安装编号较小的部件。因为要安装的部件非常多,所以他们想请你写个程序来帮忙计算出机关安装的正确顺序,你能做到么?

2023-05-18 12:08:54 80

原创 PTA 最短工期

一个项目由若干个任务组成,任务之间有先后依赖顺序。项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务。现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工时间。

2023-05-18 12:08:40 129

原创 PTA 发言顺序

某公司开项目讨论会,要求每名参会员工均发言,为了不冒犯职位级别高的员工,规定按职位级别高低顺序发言,级别高的员工先发言,级别低的员工后发言。但该公司职级系统非常混乱,目前只知道部分员工间的上下级关系,主持人很难找到一个全局的、合理的发言顺序。请编写程序帮助会议主持人确定一个合理的发言顺序。假定有n名参会人员,编号为0至n-1。

2023-05-18 12:07:52 231

原创 PTA 单源最短路径

请编写程序求给定正权有向图的单源最短路径长度。图中包含n个顶点,编号为0至n-1,以顶点0作为源点。

2023-05-09 20:47:37 413

原创 PTA 首都选址(C++ Dijkstra)

某国准备选择新的首都,并对新首都的位置提出要求:即新首都到该国所有其他城市的平均距离最短(当然并不一定要求城市之间直达,间接道路也是允许的,但必须可达)。已知该国的城市信息,请回答新首都应选择哪一个城市。

2023-05-09 20:44:54 236

原创 PTA 7-4 是否同一棵二叉搜索树(map)

给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。

2023-05-04 11:43:03 33

原创 PTA 7-2 一元多项式的乘法与加法运算(STL map)

设计函数分别求两个一元多项式的乘积与和。

2023-05-04 09:53:10 101

原创 PTA L1-095 分寝室(理解题意轻松WA)

学校新建了宿舍楼,共有 n 间寝室。等待分配的学生中,有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。现请你写程序完成寝室的自动分配。

2023-04-23 20:49:22 6772 6

原创 PTA L1-094 剪切粘贴 (超简版——灵活运用string模板库里的函数(也就练习了半坤年))

使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl + X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。abcdefgcdeabfgbfgabfcdeg每次操作后的字符串即为新的当前字符串。在若干次操作后,请给出最后的编辑结果。

2023-04-23 20:40:54 1454

原创 PTA 朋友圈 并查集:按秩归并+路径压缩

PTA 朋友圈 某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。

2023-04-11 19:22:35 195

原创 冰火两重天版格斗场(热血格斗场+冷血格斗场)

热血格斗场+冷血格斗场程序设计实习MOOC / 程序设计与算法(一)测验汇总

2022-11-29 01:37:20 174

原创 OpenJudge NOI 1.8 23:二维数组回形遍历

OpenJudge NOI 1.8 23:二维数组回形遍历

2022-11-09 20:35:23 622

原创 PTA 整除光棍 (暴力数组高精度) C/C++

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s。

2022-11-01 20:25:48 291

原创 pta 企业根据利润提成发放奖金问题 C/C++

PTA 企业根据利润提成发放奖金问题企业根据利润提成发放奖金问题。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数?

2022-10-28 21:15:43 628

空空如也

空空如也

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

TA关注的人

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