- 博客(10)
- 收藏
- 关注
原创 CSP201312-1 出现次数最多的数
考虑到出现次数最多的数可能有多个,要输出其中最小的一个,则到时候循环的时候下标直接从小到大判断即可,判断时取只有大于才更新,等于不更新,可恰好能解决这个要求。给n个正整数(1 ≤ n ≤ 1000),要求出现次数最多的一个,很容易想到用数组储存它们出现的次数,且n的值也不大。给定n个正整数,找出它们中出现次数最多的数。输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。如果这样的数有多个,输出其中最小的一个。用数组将出现的数的次数都记录下来,为方便,直接将下标的意义定为数的值。
2023-03-13 21:54:29
341
原创 CSP201312-2 ISBN号码
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。最后求和取余,余数有0,1,2,...,10,为10则识别码为'X',再进行判断是否正确即输出正确或更改。
2023-03-13 21:36:09
270
原创 牛客练习赛109--运算符号
本题要问最小的操作代价,当n为0时,不用操作,代价为0;为1时操作-1即可,代价为1;这题本身并不难,但很容易出小问题,题干给出了一个提示--快速读入输出,由于该题的数字较大,普通读入输出会导致超时,所以我们直接引用提示的函数代码即可。引用了提示的函数代码,就可以用read()函数和print()函数,可以快速读入和输出。选择一个整数 x,满足 x>1,将 n 变成 n mod x,即。选择一个整数 x,满足 x>0,将 n 变成 n−x,即。使用一次操作 2,选择 x=3 即可,最小代价为 3。
2023-03-03 21:45:55
350
原创 CSP202212-2 训练计划
明白上述后,来判断什么条件下需要输出第二行,我们定义一个判断的bool类型的变量flag,若某训练本身需的时间加上在自身前需优先完成的训练的时间之和大于了n,则说明不能按时完成所以训练,即不输出第二行。判断是否有优先完成的训练(即p[i]是否为0),若不为0,则让前面需优先完成的训练r[p[i]]加上自己的时间r[i](由于前面的训练可能不止一个依赖关系的训练,故取最大值max)当然,与自己有依赖的可能不止一个,所以应该是自己与一个有依赖的训练的时间之和的最大值,即为t0,可求得最晚的开始时间。
2023-03-03 20:28:26
3984
4
原创 CSP202212-1 现值计算
简单来说,假设银行的年利率为 5%,那么当前的 100 元一年后就会变成 105 元,两年后变成 110.25 元。全部的测试数据满足 0
2023-03-02 21:39:32
1819
原创 P8674 [蓝桥杯 2018 国 B] 调手表
用d[i]来表示按的次数,若当前时间是0,则说明时间正确,d[0]==0。可以用队列的数据结构来解决,若未处理(初始化为-1),则进队列进行操作,每次处理都出一个出一个队列首元素,直到所有有意义的时间点都处理了,结束处理循环。要求从一个时间调到另一个时间最多要按多少次,就是求出0时间点到所以其他时间点的按的次数中的最大值,有两个按钮,一个是+1,一个是+k。要使时间都在有效时间点,+1/+k后都要取模(%n)。比如,n=10,k=6 的时候,假设当前时间是 0,连按 2次 +k 按钮,则调为 2。
2023-02-13 15:34:04
246
原创 牛客小白月赛66——先交换
输出-1:a[1]不是奇数,且数组中不存在一个奇数小于a[1],则无论如何都不能将第一个数交换成奇数,故无解。输出1:a[1]不是奇数,但数组中存在一个奇数小于a[1],只需将该数与第一个数交换即可,故移动1次。每一个测试点包含多组测试数据,第一行输入一个正整数 ,表示该测试点测试数据的数量。输出0:a[1]已经是奇数,不需要移动就满足了题意,故移动0次。对于每组测试数据,一行输出一个整数,表示最少的操作次数使得。为奇数,简单分析可知,输出只有三种情况:0,1,-1。为奇数,若无解则输出 -1。
2023-02-11 19:56:12
264
原创 P8781 [蓝桥杯 2022 省 B] 修建灌木
爱丽丝在每天傍晩会修剪一棵灌木,让灌木的高度变为 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。在第一天的早晨, 所有灌木的高度都是 0 厘米。可推出最大间隔为 剪完某个灌木后,向左或向右剪然后折回来再剪此灌木(如图中灌木1的最大高度就是4,剪完1向右剪再折回来剪1;最大高度就是这两者之中的最大值(只有这两种可能,N>1,最少都有两个灌木)题意是要计算每棵灌木最高长到多高,即两次修建同一灌木的最大间隔。
2023-02-09 22:57:50
450
原创 P8814 [CSP-J 2022] 解密
多运用数学的思想来简化题目: 知a+b,ab,易得出a-b,进而得出a,b。判断有无解,从n,e,d,p,q都是正整数出发,则需判断m与t的大小,要满足。数有比较大的,用long long int 数据类型。,根号里面是完全平方数,分子能被2整除。两个式子可得p+q=n+2-e*d,即。次询问,每次给定三个正整数。保证对于 100%的数据,1≤。为使输出统一,你应当保证。如果无解,请输出 NO。+2,而p*d=n,可知。
2023-02-08 23:31:35
884
原创 P8748 [蓝桥杯 2021 省 B] 时间显示
输出时分秒表示的当前时间, 格式形如HH:MM:SS, 其中 HH表示时, 值 为 0到 23, MM 表示分,值为 0 到 59。小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要 显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。输入一行包含一个整数,表示时间。
2023-02-07 15:36:39
263
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人