![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
牛客网考研机试
基于C,不使用STL。希望你也上岸!
平人的进步日常
每天进步
展开
-
日期问题 总结
计算一个日期加上若干天后是什么日期。(在题2上扩展:加上若干天后可能不是同一年)给出年份m和一年中的第n天,算出第n天是几月几号。(属于题1的逆问题。①转化为求两个日期到00010101的天数,再相减。②万能模板:利用while循环计算nextday。②万能模板:利用while循环计算nextday。万能模板:利用while循环计算nextday。①先计算前几个月天数和,再加上本月天数。以当天为基准,向前数天数或向后数天数。计算该天是本年的第几天。计算给定的日期是周几。求两个日期之间的天数。原创 2024-03-11 20:03:39 · 391 阅读 · 0 评论 -
KY250 日期类
输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。注意个位数日期前面要有0。暴力求解 模拟 日期问题。原创 2024-03-11 20:37:03 · 412 阅读 · 0 评论 -
KY267 对称平方数1
描述打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为22=4,1111=121。输入描述:无任何输入数据输出描述:输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。示例1输入:无输出:无知识点: 暴力求解 穷举AC代码:#include<bits/stdc++.h>using namespace std;int reverse(int n){ int r = 0; while(n) {原创 2021-11-17 14:14:53 · 365 阅读 · 0 评论 -
KY266 反序数
描述设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值输入描述:程序无任何输入数据。输出描述:输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。示例1输入:无输出:无知识点: 暴力求解 枚举AC代码:#include<bits/stdc++.h>using namespace std;int reverse(int n) // 求反序数{ int r = 0; while(n) {原创 2021-11-15 23:29:48 · 257 阅读 · 0 评论 -
KY258 日期累加
描述设计一个程序能计算一个日期加上若干天后是什么日期。输入描述:输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。输出描述:输出m行,每行按yyyy-mm-dd的个数输出。示例1输入:12008 2 3 100输出:2008-05-13知识点: 暴力求解 模拟 日期问题本题是KY19 今年的第几天?和KY222 打印日期的结合体本题可转换为,先求输入是该年的第几天,再加上若干天,再求该天数对应的日期。AC代码:#include<bits/st原创 2021-11-27 15:57:19 · 173 阅读 · 0 评论 -
KY228 找位置
对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;1,12, 2,9;可能有多组测试数据,对于每组数据, 按照样例输出的格式将字符出现的位置标出。2、相同的字母在一行表示出其出现过的位置。输入包括一个由字母和数字组成的字符串,其长度不超过100。原创 2024-03-15 20:03:02 · 309 阅读 · 0 评论 -
KY222 打印日期
描述给出年分m和一年中的第n天,算出第n天是几月几号。输入描述:输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出描述:可能有多组测试数据,对于每组数据, 按 yyyy-mm-dd的格式将输入中对应的日期打印出来。示例1输入:2000 32000 312000 402000 602000 612001 60输出:2000-01-032000-01-312000-02-092000-02-292000-03-012001-原创 2021-11-25 13:31:46 · 152 阅读 · 0 评论 -
KY211 特殊排序
可能有多组测试数据,对于每组数据, 第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。第二行将排序的结果输出。输入一系列整数,将其中最大的数挑出(如果有多个,则挑出一个即可),并将剩下的数进行排序,如果无剩余的数,则输出-1。输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。接下来的一行有N个整数。原创 2024-03-14 21:22:25 · 402 阅读 · 0 评论 -
KY210 排序
可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。每组测试数据的结果占一行。输入的第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。对输入的n个数进行排序并输出。原创 2024-03-14 16:34:42 · 382 阅读 · 0 评论 -
KY199 查找
输入数组长度 n 输入数组 a[1…n] 输入查找个数m 输入查找数字b[1…m] 输出 YES or NO 查找有则YES 否则NO。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m,n<=100)。如果在n个数组中输出YES否则输出NO。原创 2024-03-15 16:16:53 · 398 阅读 · 0 评论 -
KY198 找最小数
第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。每组输入n,然后输入n个整数对。原创 2024-03-15 19:06:14 · 374 阅读 · 0 评论 -
KY158 找x
输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。对于每组输入,请输出结果。原创 2024-03-15 15:59:28 · 382 阅读 · 0 评论 -
KY156 百鸡问题
描述用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。(本题没有测试数据,int main(){}就能通过真·本地过了就是过了)输入描述:测试数据有多组,输入n。输出描述:对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。示例1输入:40输出:x=0,y=0,z=100 x=0,y=1,z=99 x=0,y=2,z=98 x=1,y=0,z=99知原创 2021-11-18 18:13:18 · 135 阅读 · 0 评论 -
KY147 Hello World for U
描述Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, “helloworld” can be printed as: h d e l l r lowo That is, the characters must be printed in the original order, starting top-down from t原创 2021-11-23 09:36:58 · 334 阅读 · 0 评论 -
KY132 xxx定律
对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。请计算需要经过几步才能将n变到1,具体可见样例。测试包含多个用例,每个用例包含一个整数n。(1<=n<=10000)对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。暴力解法 模拟 其他模拟。原创 2024-03-14 14:34:36 · 367 阅读 · 0 评论 -
KY127 统计字符
测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到’#'时输入结束,相应的结果不要输出。对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出: c0 n0 c1 n1 c2 n2 …其中ci是第1行中第i个字符,ni是ci出现的次数。统计一个给定字符串中指定的字符出现的次数。原创 2024-03-17 16:37:27 · 373 阅读 · 0 评论 -
KY120 Grading
对于每个问题,给出一个满分P和一个公差T(<P)。如果差值在公差范围内,即|G1 - G2|≤T,则该问题的等级为G1和G2的平均值。•如果G3在G1或G2的公差范围内,但不是两者都在,那么这个问题的分数将是G3和最接近的分数的平均值。•如果G3在G1和G2的公差范围内,则该问题的等级将是三个等级中的最大值。•如果G3与G1和G2均不在公差范围内,裁判将给出最终评分GJ。每种情况占用一行,一行包含6个正整数:P、T、G1、G2、G3、GJ,如题中所示。答案必须精确到小数点后一位。暴力揭发 模拟 其他模拟。原创 2024-03-14 15:12:55 · 795 阅读 · 0 评论 -
KY117 奥运排序问题
排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 对每个国家给出最佳排名排名方式 和 最终排名 格式为: 排名:排名方式 如果有相同的最终排名,则输出排名方式最小的那种排名,对于排名方式,金牌总数 < 奖牌总数 < 金牌人口比例 < 奖牌人口比例 如果有并列排名的情况,即如果出现金牌总数为 100,90,90,80.则排名为1,2,2,4. 每组数据后加一个空行。第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。不采用常见排序算法,遍历一次,遇到高的,自身排名+1即可。原创 2024-03-15 14:44:42 · 339 阅读 · 0 评论 -
KY115 后缀字串排序
对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain。每个案例为一行字符串。原创 2024-03-20 20:51:46 · 239 阅读 · 0 评论 -
KY113 字母统计
对每个案例按A-Z的顺序输出其中大写字母出现的次数。输入一行字符串,计算其中A-Z大写字母出现的次数。案例可能有多组,每个案例输入为一行字符串。原创 2024-03-17 17:03:33 · 348 阅读 · 0 评论 -
KY111 日期差值
描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入描述:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出描述:每组数据输出一行,即日期差值示例1输入:2011041220110422输出:11知识点: 暴力求解 模拟 日期问题该题与KY19 今年的第几天?有共通之处。该题可转化为求两个日期到00000000的天数,再相减。AC代码:#include<bits/stdc++.h>using nam原创 2021-11-27 16:49:16 · 249 阅读 · 0 评论 -
KY108 Day of Week
描述We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400. For example, years 2004, 2180 and 2400 are leap. Years 2005, 2181 and 2300 are not leap. Your task is原创 2021-11-28 13:38:25 · 256 阅读 · 1 评论 -
KY90 简单密码
对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。一组测试数据包括三部分: 1. 起始行 - 一行,包括字符串 “START” 2. 密文 - 一行,给出密文,密文不为空,而且其中的字符数不超过200 3. 结束行 - 一行,包括字符串 “END” 在最后一组测试数据之后有一行,包括字符串 “ENDOFINPUT”。对每组数据,都有一行输出,给出密文对应的明文。原创 2024-03-17 16:21:10 · 359 阅读 · 0 评论 -
KY79 浮点数加法
求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式: P1P2…Qj 对于整数部分,P1P2…Pi是一个非负整数 对于小数部分,Qj不等于0。每组案例是n行,每组测试数据有一行输出是相应的和。对于每组案例,每组测试数据占2行,分别是两个加数。原创 2024-03-20 19:12:30 · 228 阅读 · 0 评论 -
KY67 整数奇偶排序
可能有多组测试数据,对于每组数据,按照要求排序后输出,由空格分隔。1. 测试数据可能有很多组,请使用while(cin>>a[0]>>a[1]>>…>>a[9])类似的做法来实现;2. 输入数据随机,有可能相等。输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求: 1.先输出其中的奇数,并按从大到小排列;2.然后输出其中的偶数,并按从小到大排列。任意排序的10个整数(0~100),彼此以空格分隔。原创 2024-03-14 21:42:33 · 382 阅读 · 0 评论 -
KY58 Repeater
描述Harmony is indispensible in our daily life and no one can live without it----may be Facer is the only exception. One day it is rumored that repeat painting will create harmony and then hundreds of people started their endless drawing. Their paintings we原创 2021-11-22 19:23:33 · 522 阅读 · 0 评论 -
KY57 首字母大写
对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(’ ‘)、制表符(’\t’)、回车符(‘\r’)、换行符(‘\n’)。可能有多组测试数据,对于每组数据, 输出一行:转换后的字符串。输入一行:待处理的字符串(长度小于100)。原创 2024-03-18 21:38:59 · 409 阅读 · 0 评论 -
KY54 打印极值点下标
在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数, 或者小于所有它相邻的整数,则称该整数为一个极值点,极值点的下标就是i。每个案例输出为n个数字(其中n为该案例中极值点的个数):每个数字对应相应数组的相应极值点下标值,下标值之间用空格分隔。每个案例第一行为此数组元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔。原创 2024-03-15 19:21:16 · 328 阅读 · 0 评论 -
KY50 与7无关的数
描述一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7, 则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和。输入描述:案例可能有多组。对于每个测试案例输入为一行,正整数n,(n<100)输出描述:对于每个测试案例输出一行,输出小于等于n的与7无关的正整数的平方和。示例1输入:21输出:2336知识点: 暴力求解 穷举AC代码:#include<bits/stdc++.h>using namespace原创 2021-11-17 14:16:25 · 264 阅读 · 0 评论 -
KY46 单词替换
输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。每组数据输入包括3行,第1行是包含多个单词的字符串s,第2行是待替换的单词a(长度<=100),第3行是a将被替换的单词b(长度<=100)。s, a, b 最前面和最后面都没有空格。每个测试数据输出只有 1 行, 将s中所有单词a替换成b之后的字符串。原创 2024-03-18 21:00:05 · 397 阅读 · 0 评论 -
KY45 skew数
在 skew binary 表示中,第 k 位的值 x[k] 表示 x[k]×(2^(k+1)-1)。每个位上的可能数字是 0 或 1,最后面一个非零位可以是 2,例如,10120(skew) = 1×(2^5-1) + 0×(2^4-1) + 1×(2^3-1) + 2×(2^2-1) + 0×(2^1-1) = 31 + 0 + 7 + 6 + 0 = 44。前十个 skew 数是 0、1、2、10、11、12、20、100、101、以及 102。对应每一组数据,输出相应的十进制形式。原创 2024-03-18 20:33:02 · 364 阅读 · 0 评论 -
KY37 小白鼠排队
N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目。下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。每个案例按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。原创 2024-03-14 22:14:07 · 349 阅读 · 0 评论 -
KY33 密码翻译
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串。读取这一行字符串,每个字符串长度小于80个字符。对于每组数据,输出每行字符串的加密字符串。原创 2024-03-17 14:31:57 · 394 阅读 · 0 评论 -
KY25 剩下的树
有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。可能有M(1<=M<=100)个区间,区间之间可能有重叠。两个整数L(1<=L<=10000)和M(1<=M<=100)。可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的个数。暴力求解 模拟 其他模拟。原创 2024-03-13 18:33:04 · 409 阅读 · 0 评论 -
KY19 今年的第几天?
描述输入年、月、日,计算该天是本年的第几天。输入描述:包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。输出描述:输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。示例1输入:1990 9 202000 5 1输出:263122知识点: 暴力求解 模拟 日期问题AC代码: 可以选择分支结构来判断求解,但这里采用数组存储来进行预处理,使得真正处理数据原创 2021-11-24 10:16:46 · 762 阅读 · 0 评论 -
KY18 特殊乘法
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1。两个小于1000000000的数。原创 2024-03-17 13:56:41 · 386 阅读 · 0 评论 -
KY15 abc
描述设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。输入描述:题目没有任何输入。输出描述:请输出所有满足题目条件的a、b、c的值。 a、b、c之间用空格隔开。 每个输出占一行。示例1输入:输出:AC代码:#include<bits/stdc++.h>using namespace std;int main(){ int a, b, c; for(int a = 0; a &原创 2021-11-14 22:59:30 · 365 阅读 · 0 评论 -
KY9 成绩排序
输入第一行包括一个整数N(1原创 2024-03-14 19:32:31 · 385 阅读 · 0 评论 -
KY6 手机键盘
按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c。现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段。输入可能包括多组数据,对于每组数据,输出按出Input所给字符串所需要的时间。暴力求解 模拟 其他模拟。原创 2024-03-13 20:53:07 · 306 阅读 · 0 评论 -
KY2 成绩排序
注意一个case里面有多组样例,请用循环处理输入 输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开。题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩。按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开。都按先录入排列在前的规则处理。原创 2024-03-14 21:01:38 · 322 阅读 · 0 评论