算法:题解
文章平均质量分 70
记录 PTA 和牛客网上题目的解题过程
XcantloadX
这个作者很懒,什么都没留下…
展开
-
【题解】[NOIP2016]玩具谜题
关键是最后一步,需要分情况讨论。对于分类讨论,列表分析是最合适的方法。取得指令方向 → 取得当前朝向 → 得出下标变化方向。至于怎么模拟这个“圈”,可以使用取余运算实现。面朝圈内:左->顺时针,右->逆时针。面朝圈外:左->逆时针,右->顺时针。(由 ChatGPT 转换)原创 2023-10-16 15:41:20 · 160 阅读 · 0 评论 -
【题解】[NOIP2015]扫雷游戏(Java & C++)
为了避免思路混乱,可以考虑单独开写一个函数来判断某个格子是否有地雷。,比如左上角,有五个格子不在数组范围内,需要特殊处理。只需要统计每一个格子周围 8 个格子的地雷数量即可。(由 ChatGPT 转换)原创 2023-10-15 22:57:35 · 345 阅读 · 0 评论 -
【牛客网题目详解】[NOIP2009] 多项式输出(Java & C)
对于不是最高次的项,以“+”号或者“-”号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于0 次的项,其系数的绝对值为1,则无需输出1)。如果x的指数大于1,则接下来紧跟的指数部分的形式为“x^b”,其中b为x的指数;如果x的指数为1,则接下来紧跟的指数部分形式为“x”;如果多项式 n 次项系数为正,则多项式开头不出现“+”号,如果多项式 n 次项系数为负,则多项式以“-”号开头。题目要我们做的事:输入 n+1 个系数,输出对应的多项式。原创 2023-09-22 21:58:35 · 255 阅读 · 0 评论 -
【洛谷题解】P1102 A-B 数对
的值,然后用二分找出 B B B…的开始位置和结束位置,相减就得到了。的数对的个数(不同位置的数字一样的数对算不同的数对)。给出一串正整数数列以及一个正整数。个正整数,作为要求处理的那串数。一行,表示该串正整数中包含的满足。2017/4/29 新添数据两组。,要求计算出所有满足。使用二分搜索,对每个。原创 2023-07-19 11:39:58 · 665 阅读 · 0 评论 -
【PTA 题解】L2-003 月饼(C + Python)
样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。每个测试用例先给出一个不超过 1000 的正整数 N 表示月饼的种类数、以及不超过 500(以万吨为单位)的正整数 D 表示市场最大需求量。,即一种一种月饼来,每一次都卖能卖钱最多的那一种。原创 2023-04-06 20:00:42 · 774 阅读 · 0 评论 -
【PTA 题解】L1-083 谁能进图书馆(标志位)(C+Python)
为了保障安静的阅读环境,有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆,除非有 18 岁以上(包括 18 岁)的成人陪同”。是指大于等于该年龄的人士可以陪同儿童入馆。年龄和年龄线都是 [1, 200] 区间内的整数,并且保证。在一行中输出对两位询问者的回答,如果可以进就输出。,中间空 1 格,行首尾不得有多余空格。表示 A 为状态 0,B 为状态 0。状态 1:禁入年龄线 ~ 陪同年龄线。是指严格小于该年龄的儿童禁止入馆;状态 2:>= 陪同年龄线。状态 0:< 禁入年龄线。原创 2023-04-05 22:54:36 · 1916 阅读 · 0 评论 -
【PTA 题目详解】7-5 统计单词的长度
本题目要求编写程序,输入一行字符,统计每个单词的长度。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。由于全空格的情况根本不会被判断为单词开始,就不会有输出,所以需要额外判断一下。这明明是一个完整的句子)。,也就是两个单词之间可以空很多个空格,可以是。的问题,如果全都是空格,那么单词数就是 0,(顺带一提,百度结果第一的答案甚至是错的。暂时还没想到统一的方法,欢迎改善代码。“单词”是不含空格的字符串,可以是。,否则多个空格会被当成多个单词。,各单词之间用空格分隔,原创 2022-12-02 22:38:03 · 2488 阅读 · 0 评论 -
【牛客网题目详解】1008 牛牛学数列3
## 题目描述牛牛准备继续进阶,计算更难的数列输入一个整数 n,计算 `1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))` 的值### 输入描述输入一个整数### 输出描述输出一个浮点数,保留 3 位小数原创 2022-11-26 17:03:09 · 597 阅读 · 0 评论 -
【牛客网题目详解】Q-前天是哪一天
## 题目描述给定公元2000年到公元3000年之间的某一天,请你给出该天的前天是哪一天。*(此处略去一张无用的图片)*### 输入描述> 输入在一个日期,格式如"yyyy-mm-dd",题目保证所有输入日期为合法日期。### 输出描述> 在一行中输出日期,格式如"yyyy-mm-dd"。原创 2022-11-26 17:00:36 · 2761 阅读 · 4 评论 -
【PTA 题目详解】 例题5-7 计算2个复数之和与之积
复数的运算实际上就是实部和虚部的运算,比如相加就是实部和虚部分别相加,相乘、相除的公式可以百度找到。可以用指针返回,也可以用结构体。当然,也可用全局变量作中转,这是最简单的方法。输入在一行中给出4个实数,分别代表c1和c2的实部和虚部。在两行中分别输出c1+c2和c1*c2的计算结果。分别输入2个复数的实部与虚部,原创 2022-11-26 16:49:52 · 5094 阅读 · 0 评论 -
【PTA 题目详解】 7-10 猴子吃桃
猴子第一天摘下若干桃子,当即吃了一半,还觉不过瘾,又多吃了一个;我们只需要循环调用 scanf(),判断返回值是否为 EOF,若为则跳出循环即可。(PS:这是用构造法从递推公式求通项公式的步骤,高中数列知识,请自行复习。,否则会重复调用,造成上一个输入的 n 还没处理就被下一个 n 覆盖掉了。假设知道第一天多少桃子,手动分析一遍样例数据,看看是如何变化的。桃数实际上就是一个数列,直接求出通项公式,变换一下,直接求出。还需注意的是,“测试数据有多组,处理到文件尾”,EOF 是一个常量,值为 -1。原创 2022-11-19 08:49:23 · 5933 阅读 · 0 评论