刷题
Zsprinkle
这个作者很懒,什么都没留下…
展开
-
牛客竞赛语法入门班函数与递归习题C++版本参考代码及部分解析
A [NOIP2010]数字统计B 日历中的数字C 素数回文D 数位五五E 233F Hello I am HERE!G [NOIP1999]回文数H 兔子的序列I 素数中的等差数列J [NOIP2003]侦探推理K 小X的多边形L The Biggest Water ProblemM 小q的数列N [NOIP2001]求先序排列O 中序序列P [NOIP2004]FBI树Q [NOIP2003]加分二叉树R 对称二叉树S 大吉大利,今晚吃鸡T BitsU [NOIP原创 2022-03-18 22:45:08 · 577 阅读 · 0 评论 -
牛客竞赛语法入门班栈、队列和STL习题C++版本参考代码及部分解析
原创 2022-02-04 10:43:39 · 659 阅读 · 0 评论 -
牛客竞赛语法入门班数组字符串习题C++版本参考代码及部分解析
牛客竞赛语法入门班数组字符串习题重点题:1019 扫雷(初级搜索)1019 扫雷原创 2022-01-29 10:50:58 · 1181 阅读 · 0 评论 -
牛客竞赛语法入门班循环结构习题C++版本参考代码及部分解析
牛客竞赛语法入门班循环结构习题原创 2022-01-12 11:03:32 · 781 阅读 · 0 评论 -
牛客竞赛语法入门班选择结构习题C++版本参考代码及部分解析
牛客竞赛语法入门班选择结构习题 C语言版本的参考代码原创 2022-01-10 23:31:43 · 2206 阅读 · 0 评论 -
牛客竞赛语法入门班顺序结构习题C++版本参考代码及部分解析
牛客竞赛语法入门班顺序结构习题C语言版本的参考代码原创 2022-01-06 22:38:13 · 5951 阅读 · 3 评论 -
ACwing 789 数的范围 (二分算法)
给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0开始计数)。 如果数组中不存在该元素,则返回 -1 -1。输入格式第一行包含整数 n 和 q,表示数组长度和询问个数。 第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。 接下来 q行,每行包含一个整数 k,表示一个询问元素。输出格式共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。 如果数组中不存在该元素,则返回 -1 -1.原创 2021-08-04 00:27:38 · 276 阅读 · 0 评论 -
POJ 2376 Cleaning Shifts (贪心算法)
原题链接DescriptionFarmer John is assigning some of his N (1 <= N <= 25,000) cows to do some cleaning chores around the barn. He always wants to have one cow working on cleaning things up and has divided the day into T shifts (1 <= T <= 1,000,00原创 2021-07-29 12:55:28 · 237 阅读 · 0 评论 -
修复公路(并查集 + 结构体)
原题链接题目背景A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。题目描述给出A地区的村庄数N,和公路数M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)输入格式第1行两个正整数N,M。下面M行,每行3个正整数x,y,t,告诉你这条公路连着x,y两个村庄,在时间t时能修复完成这条公路输出格式如果原创 2021-02-28 22:05:30 · 781 阅读 · 1 评论 -
Ubiquitous Religions(POJ并查集板子题)
原题链接DescriptionThere are so many different religions in the world today that it is difficult to keep track of them all. You are interested in finding out how many different religions students in your university believe in.You know that there are n stude原创 2021-02-28 19:44:49 · 215 阅读 · 0 评论 -
Points in Segments(区间中的点)
原题链接Given n points (1 dimensional) and q segments, you have to find the number of points that lie in each of the segments. A point pi will lie in a segment A B if A ≤ pi ≤ B.For example if the points are 1, 4, 6, 8, 10. And the segment is 0 to 5. Then th原创 2021-02-21 00:08:13 · 381 阅读 · 0 评论 -
括弧匹配检验(括号匹配问题)
题目描述假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]()或 ( ( ) ) )均为错误的匹配。现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配?输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK”,不匹配就输出“Wrong”。输入一个字符串:[([][])],输出:OK输入输入仅一行字符(字符个数小于255)输出匹配就输出 “OK” ,不匹配就原创 2021-02-11 16:36:04 · 3204 阅读 · 0 评论 -
验证角谷猜想(利用位运算)
题目描述数论中有许多猜想尚未解决,其中有一个被称为“角谷猜想”的问题,该问题在五、六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何一个大于一的自然数,如果是奇数,则乘以三再加一;如果是偶数,则除以二;得出的结果继续按照前面的规则进行运算,最后必定得到一。现在请你编写一个程序验证他的正确性。输入题目包含多组测试数据,第一行为测试数据组数N,接着是N行的正整数。输出输出验证“角谷猜想”过程中的奇数,最后得到的1不用输出;每个测试题输出一行;每行中只有两个输出之间才能有一个空原创 2021-02-11 09:54:35 · 724 阅读 · 0 评论 -
阶乘的和
题目描述有些数可以表示成若干个不同阶乘的和。例如,9=1!+2!+3!。小明对这些数很感兴趣,所以他给你一个正整数n,想让你告诉他这个数是否可以表示成若干个不同阶乘的和。输入输入包含多组测试数据。每组输入为一个非负整数n(n<=1000000),当n为负数时,输入结束。输出对于每组输入,如果n可以表示成若干个不同阶乘的和,则输出YES,否则输出NO。样例输入9-1样例输出YES分析:由于0 != 11 != 12 != 23 != 64 != 24原创 2021-02-10 20:34:44 · 3389 阅读 · 0 评论 -
美丽数(打表)
题目描述小明很喜欢3和5这两个数字,他将能被3或5整除的数叫做美丽数。现在给你一个整数N(1<=N<=100000),你能告诉小明第N个美丽数是多少吗?输入输入包含多组测试数据。每组输入一个整数N(1<=N<=100000)。输出对于每组输入,输出第N个美丽数。样例输入1234样例输出3569思路:题目大意即需要我们求出第n个美丽数(能被3或5整除的数字)。可以先设置一个结果数组用来存储美丽数,数组的大小为题目所给的N定义一原创 2021-02-03 17:58:47 · 881 阅读 · 0 评论 -
平均分(结构体练习)
题目描述从键盘依次输入每个学生的学号、姓名、出生年月、3门课的成绩,计算并打印出每个学生的平均成绩。输入第一行,整数n,表示一共有n个学生。从第二行开始共n行,每行包含学号,姓名,出生年月,数学,英语,C语言,空格隔开,姓名不含空格,出生年月分开输入。输出共n行,每行包含学号,姓名,出生年/月,数学,英语,C语言,平均成绩。输出浮点数使用%.0f,出生年月用/分开。样例输入2901 hulei 1990 8 67 78 89902 fangang 1991 7 85 69原创 2021-02-03 09:52:13 · 275 阅读 · 0 评论 -
科总分(结构体练习)
题目描述输入10个学生的学号和5门课程的成绩,统计输出5门课总分最高和最低的学生的学号和他们的总分。输入每行6个整数,共10行。 其中,每行第一个整数表示学生的学号,剩下的5个数表示他5门课程的成绩。输出两行,每行两个整数。 其中第一行为总分最高的学生的学号,和他的总分,用空格隔开。 第二行为总分最低的学生的学号,和他的总分,用空格隔开。样例输入99211201 1 2 3 4 599211207 2 2 3 4 599211217 3 2 3 4 599211227 4原创 2021-02-02 21:59:42 · 289 阅读 · 0 评论 -
火车出站(卡特兰数)
题目描述铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种?输入输入包含多组测试数据。每组为一个正整数n(1<=n<=20),表示有n辆列车。输出输出可能的出栈序列有多少种。样例输入43样例输出145思路:数据结构中很简单的问题。卡特兰数问题。有n个数字依次入栈,则所有合法的出栈数为C(2n,n) / (n+1)一开始写出了代码,但是只过了一半的样例。后来才知道由于某原创 2021-02-02 17:51:15 · 722 阅读 · 0 评论 -
1的个数(大数取模)
题目描述对于一个给定的[0,10000]内的不能被2或5整除的整数n,n放大某些倍数后,结果会是仅由很多1组成的一个数a。现在请你找出最小的那个a中包含的1的个数。输入输入包含多组测试数据。每组输入为一个整数n。(0<=n<=10000)输出对于每组输入,输出最小的那个a中包含的1的个数。样例输入379901样例输出3612模运算的重要性质(a * b) % p = (a % p * b) % p(a + b) % p = (a % p +原创 2021-02-01 23:09:38 · 879 阅读 · 0 评论 -
ACM CLUB晚会
又是一个一波三折的一题题目描述ACM CLUB的会员越来越多了,为此,ACM CLUB想为会员们准备一个晚会,晚会节目由会员们表演。消息一出,报名要表演节目的会员很多,多达N个,但是由于场地和时间有限,只能从这N个人中选M个,请问一共有多少种选择方法?输入数据的第一行是一个正整数T,接下来有T组数据,每组数据占一行。每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)。输出每组数据输出一个整数,每个输出占一行。样例输入原创 2021-01-30 23:24:41 · 207 阅读 · 0 评论 -
找规律填数字(难AC,细节多)
题目描述小宇正在读小学,今天老师布置了几道数学题目。小宇平时上课经常不专心,这些他可发愁了,怎么办呢?看看你能不能帮帮他。题目是给你一组有规律序列的前面5个整数,请你给出它后面跟着的5个整数,如:1,2,3,4,5,___,___,_,,___。这是个等差数列,后面应该是6,7,8,9,10,就这么简单。而且现在小宇已经知道这串序列要么是等差数列,要么是等比数列或者是斐波那契数列。输入输入包含多组测试数据。每组输入5个整数,每个数字之间隔一个空格,当5个数字都为0时输入结束。输出对于每组输原创 2021-01-30 21:19:42 · 617 阅读 · 0 评论 -
寻找第二小的数(sort)
题目描述求n个整数中第二小的数。相同的整数看成一个数。比如,有5个数分别是1,1,3,4,5,那么第二小的数就是3。输入输入包含多组测试数据。输入的第一行是一个整数C,表示有C组测试数据;每组测试数据的第一行是一个整数n,表示本组测试数据有n个整数(2<=n<=10),接着一行是n个整数(每个数均小于100)。输出为每组测试数据输出第二小的整数,如果不存在第二小的整数则输出“NO”,每组输出占一行。样例输入321 251 1 3 4 531 1 1样例原创 2021-01-30 15:00:50 · 2544 阅读 · 0 评论 -
分数矩阵(找规律/DP)
题目描述我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。请求出这个矩阵的总和。输入输入包含多组测试数据。每行给定整数N(N<50000),表示矩阵为N*N。当N=0时,输入结束。 输出输出答案,结果保留2位小数。样例输入12340样例输出1.003.005.678.83AC代码#include <iostream>#include原创 2021-01-30 00:12:15 · 1006 阅读 · 0 评论 -
贴瓷砖(递推/动态规划)
题目描述有一块大小是 2 * n 的墙面,现在需要用2种规格的瓷砖铺满,瓷砖规格分别是 2 * 1 和 2 * 2,请计算一共有多少种铺设的方法。输入输入的第一行包含一个正整数T(T<=20),表示一共有T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示墙面的大小是2行N列。输出输出一共有多少种铺设的方法,每组数据的输出占一行。样例输入32812样例输出31712731AC代码#include <iostream>#i原创 2021-01-28 22:41:35 · 1748 阅读 · 0 评论 -
字符串的奇偶性
题目描述我们把只有0和1组成的字符串叫做比特字符串。如果比特字符串中1的个数为奇数,则称这个比特字符串是奇性的。如果比特字符串中1的个数为偶数,则称这个比特字符串是偶性的。注意:(1)0是偶数,所以不包含1的比特字符串是偶性的。(2)0的个数不影响比特字符串的奇偶性。输入输入包含多组测试数据。每组数据由1~31个0、1组成,最后跟一个小写字母e或o,e表示此比特字符串应为偶性,o表示此比特字符串应为奇性。当输入#时,表示输入结束。输出每组输入对应一个输出,你应该将最后的字母替换成0或原创 2021-01-28 21:59:49 · 1528 阅读 · 1 评论 -
讨厌的小数点
题目描述小明一直很讨厌小数点,一看到小数点就头疼。不幸的是,小红给他出了一个题目,问他:给你一个小数x,你能算出小数点后第n位是什么吗?(1<=n<=6)小明看到此题后,瞬间头疼晕倒,你能帮帮他吗?输入首先输入一个t,表示有t组数据,跟着t行: 每行输入一个小数(输入数据保证一定是a.b的形式,为了简单化问题,没有循环小数的情况),然后跟一个n,表示小数点后第几位。输出输出一个数表示小数点后第n位的数。样例输入31.234 12.345 23.456 3样原创 2021-01-28 15:14:08 · 594 阅读 · 0 评论 -
字母概率
题目描述小明最近对概率问题很感兴趣。一天,小明和小红一起玩一个概率游戏,首先小明给出一个字母和一个单词,然后由小红计算这个字母在这个单词中出现的概率。字母不区分大小写。例如,给定的字母是a,单词是apple,那么概率是0.20000。输入输入包含多组测试数据。每组数据包含一个字母和一个单词。单词的长度不超过200。输出对于每一个输入,输出对应的概率,结果保留5位小数。样例输入a applec Candya banana样例输出0.200000.200000.500原创 2021-01-28 00:25:59 · 1519 阅读 · 0 评论 -
正方形字符串
题目描述现请你输出指定大小的“ACM”字符串。特别地,我们要求输出的字符串是正方形的(行数和列数相等)。输入输入的第一行是一个正整数N(N<=20),表示一共有N组数据,接着是N行数据,每行包含一个正整数M(M<=50),表示一行内有M个“ACM”相连。输出输出指定的正方形字符串。样例输入212样例输出ACMACMACMACMACMACMACMACMACMACMACMACMACMACMACMAC代码#include <iostrea原创 2021-01-28 00:01:57 · 1794 阅读 · 1 评论 -
奇偶位互换
题目描述给定一个长度为偶数位的0,1字符串,请编程实现串的奇偶位互换。输入输入包含多组测试数据。 输入的第一行是一个整数C,表示有C测试数据。接下来是C组测试数据,每组数据输入均为0,1字符串,保证串长为偶数位(串长<=50)。输出请为每组测试数据输出奇偶位互换后的结果,每组输出占一行。样例输入201101100样例输出10011100思路:奇偶位互换即第1个元素与第2个元素互换位置,然后第3个元素与第4个元素互换位置,第5个元素与第6个元素互换位置。即下原创 2021-01-27 22:21:43 · 2438 阅读 · 0 评论 -
墓碑上的字符
题目描述考古学家发现了一座千年古墓,墓碑上有神秘的字符。经过仔细研究,发现原来这是开启古墓入口的方法。墓碑上有2行字符串,其中第一个串的长度为偶数,现在要求把第2个串插入到第一个串的正中央,如此便能开启墓碑进入墓中。输入输入数据首先给出一个整数n,表示测试数据的组数。然后是n组数据,每组数据2行,每行一个字符串,长度大于0,小于50,并且第一个串的长度必为偶数。输出请为每组数据输出一个能开启古墓的字符串,每组输出占一行。样例输入2CSJIBIABCMCLU样例输出原创 2021-01-27 21:53:19 · 452 阅读 · 0 评论 -
词组缩写
题目描述定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。比如,C语言里常用的EOF就是end of file的缩写。提示:注意考虑两个单词中间有多个空格的情况输入输入的第一行是一个整数T,表示一共有T组测试数据。接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;单词长度不超过10,由一个或多个空格分隔这些单词。输出请为每组测试数据输出规定的缩写,每组输出占一行。样例输入原创 2021-01-27 21:16:09 · 2663 阅读 · 0 评论 -
曼哈顿距离的应用
题目描述先要求你从键盘输入一个整数n(1<=n<=9),打印出指定的数字图形。本题请注意循环输入输入输入包含多组测试数据。每组输入一个整数n(1<=n<=9)。输出对于每组输入,输出指定的数字图形。注意:每行最后一个数字后没有任何字符。样例输入5样例输出解题思路链接AC代码:#include <iostream>#include <cstdio>using namespace std;int main(){ in原创 2021-01-25 23:33:29 · 594 阅读 · 0 评论 -
循环数组
题目描述编写程序,将一维数组中的元素向右循环移动N次。输入第一行整数n,表示数组大小为n第二行,n个数,表示数组中的n个元素。第三行,整数N,表示数组向右移动N次。输出移动后的数组元素,每个元素后跟空格。样例输入51 2 3 4 52样例输出4 5 1 2 3AC代码#include <iostream>#include <cstdio>using namespace std;const int N = 10010;int a[N];int原创 2021-01-25 19:40:51 · 276 阅读 · 0 评论 -
判断素数
题目描述从键盘输入m,n在屏幕上按每行10个的格式输出m~n之间的全部素数输入两个整数m n输出m~n间的素数,每行10个,每个数后用空格隔开。如果m和n为素数则包含。样例输入100 200样例输出101 103 107 109 113 127 131 137 139 149151 157 163 167 173 179 181 191 193 197199AC代码#include <cstdio>#include <cmath>#include &l原创 2021-01-25 16:38:20 · 328 阅读 · 0 评论 -
大写字母转小写
题目描述从键盘输入一个大写字母,改用小写字母输出。输入一个大写英文字符输出对应的小写英文字符。样例输入 CopyA样例输出 CopyaAC代码#include <iostream>using namespace std;int main(){ char ch; scanf("%c",&ch); //大写字母ASCII小,小写字母ASCII大 printf("%c",ch + 32); return 0;}...原创 2021-01-25 00:16:51 · 105 阅读 · 0 评论