- 博客(82)
- 收藏
- 关注
原创 有多少种信仰
描述学校有 n 个同学,每个同学有且只有一个信仰并且,(1∼n)编号,给出 m 对有同一信仰的同学,问存在多少种不同的信仰?输入描述输入一个 n 和 m。以下 m 行,每行输入两个数 a,b,代表 a 同学和 b 同学拥有同一信仰。输出描述输出一共有多少种信仰。样例输入 110 42 34 54 85 8样例输出 17提示。
2025-04-19 20:40:12
294
原创 奖励战功
描述兔子们经过艰苦卓绝的努力,终于在战争中获得了胜利。于是兔子国王召集 m 位大臣开会。国王拿到了功劳簿,对于奖励,每位参加会议的大臣都提出了自己的意见,意见的方案都是:“我认为战士 a 的奖励应该比 b 高!”国王决定要找出一种奖励方案,满足各位大臣的意见,且同时使得总奖金数最少。每位战士最少为 100 银币。输入描述第一行两个整数 n,m,表示功劳簿战士总数和大臣数;以下 m 行,每行 2 个整数 a,b,表示某个大臣认为第 a 号战士奖励应该比第 b 号战士高。输出描述。
2025-04-19 20:39:14
68
原创 家庭问题
有 n 个人,编号为 1,2,……一个关系的表达为二元组(α,β)形式,表示 α,β为同一家庭的成员。此时,6 个人组成三个家庭,即:{1,2,3}为一个家庭,{4,5}为一个家庭,{6}单独为一个家庭,第一个家庭的人数为最多。当 n,k 和 k 个关系给出之后,求出其中共有多少个家庭、最大的家庭中有多少人?例如:n=6,k=3,三个关系为(1,2 ),(1,3 ),(4,5 )第一行为 n,k 二个整数( 1≤n≤100 )(用空格分隔);接下来的 k 行,每行二个整数(用空格分隔)表示关系。
2025-04-19 20:38:19
133
原创 找亲戚
或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥的表姐的孙子。如果能得到完整的家谱,判断两个人是否亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及.在这种情况下,最好的帮手就是计算机。以下 Q 行有 Q 个询问( 1≤Q≤1000000 ),每行为 ci,di,表示询问 ci 和 di 是否为亲戚。对于每个询问 ci,di,若 ci 和 di 为亲戚,则输出 Yes,否则输出 No。
2025-04-19 20:37:06
124
原创 操作格子
描述有 n 个格子,从左到右放成一排,编号为 1−n。共有 m 次操作,有 3 种操作类型:1.修改一个格子的权值。2.求连续一段格子权值和。3.求连续一段格子的最大值。对于每个 2、3 操作输出你所求出的结果。输入描述第一行 2 个整数 n,m。接下来一行 n 个整数表示 n 个格子的初始权值。
2025-04-05 20:47:15
123
原创 线段树区间更新
描述你有 NN 个整数,A1,A2,AnA1,A2,An。你需要处理两种操作。一种类型的操作是在给定的间隔内将某个给定的数字添加到每个数字上。另一种是求给定区间内的数字之和。输入描述第一行包含两个数字 nn 和 mm.。接下来输入 nn 个数。接下来 mm 行输入, Q x y 表示询问区间 [x, y]的和;C x y z 表示区间 [x, y] 内所有数加上 z。输出描述输出 mm 行,每行一个答案。样例输入 110 5Q 4 4Q 1 10Q 2 4。
2025-03-29 21:13:39
117
1
原创 保管员 n
描述小C是个异能武器管理员,他把所有的武器按照“携带方便”参数从小到大码放整齐。他升为组长后,使用武器规则发生了变化,每个人使用的编号是固定的。例如 1 号使用 1 号武器,2 号使用 2 号武器……武器编号不一样,武器种类可以一样。例如,表示有 6 件武器,分别代表 1 号到 6 号队员的。4、5、6号队员使用的武器是一样的,都是 30。每次任务,出动的队员是不一样的,例如2~4,表示2,3,4号队员出动,他们使用的武器分别是20,20,30,20 这个类型的武器有 2 次使用, 30 是 1 次。
2025-03-15 18:52:08
166
1
原创 策略游戏
描述小 L 和小 Q 在玩一个策略游戏。有一个长度为 n 的数组 A 和一个长度为 m 的数组 B,在此基础上定义一个大小为 n×m 的矩阵 C,满足 Cij=Ai×Bj。所有下标均从 1 开始。游戏一共会进行 q 轮,在每一轮游戏中,会事先给出 4 个参数 l1,r1,l2,r2,满足 1≤l1≤r1≤n、1≤l2≤r2≤m。游戏中,小 L 先选择一个 l1∼r1 之间的下标 x,然后小 Q 选择一个 l2∼r2 之间的下标 y。
2025-03-15 18:49:03
392
1
原创 最大元素的个数
第二行n个整数x,每个数字之间空格分隔(0 ≤ x ≤ 1018)。第一行一个整数n,表示序列中的元素个数(2 ≤ n ≤ 106)。有n个元素的一组序列,元素存在重复的情况。请找出最大元素,输出它的个数。注意:用vector存储序列。一个整数,表示最大元素的个数。
2025-02-06 14:25:39
159
原创 分配小鸡
在一个农场里,有 M 只相同的小鸡,和 N 个相同的鸡窝。农场主想要将小鸡放入鸡窝中,但允许有的鸡窝是空的。现在,农场主想知道有多少种不同的方式来安排这些小鸡到鸡窝里。其余n行,每行两个正整数m,n,使用空格隔开,分别表示小鸡的数量和鸡窝的数量(1≤m,n≤10)。注意:4只小鸡,3个鸡窝时,2,1,1和1,2,1是同一种分法。第一行为测试数据数量t;每一行输出一组数据对应的结果。
2025-01-17 16:28:44
226
原创 蜜蜂路线
描述一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房。问从如图位置爬到n号蜂房,有多少种爬行路线?输入描述一行,一个整数n。输出描述一个整数,表示爬行路线总数。样例输入 13样例输出 13样例输入 24样例输出 25提示。
2025-01-17 16:00:09
326
原创 斐波那契数列
斐波那契数列是指这样的数列: 数列的第一项和第二项都为1,接下来每一项都等于前面2个数之和。编写程序,输出斐波那契数列的前k个数。一个正整数k,3≤k≤46。k个数,用空格隔开。
2025-01-17 15:59:06
172
原创 寻找倍数
描述小杨有一个包含 n 个正整数的序列 A=[a1,a2,…,an],他想知道是否存在 i(1≤i≤n) 使得 ai 是序列 A 中所有数的倍数。输入描述第一行包含一个正整数 t,代表测试用例组数。接下来是 t 组测试用例。对于每组测试用例,一共两行。其中,第一行包含一个正整数 n;第二行包含 n 个正整数,代表序列 A。输出描述对于每组测试用例,如果存在 i(1≤i≤n) ,满足对于所有 k(1≤k≤n) ai 是 ak 的倍数,输出Yes,否则输出No。样例输入 12。
2025-01-17 15:58:29
284
原创 蜘蛛、蜻蜓和蝉
蜘蛛有 8 条腿,蜻蜓有 6 条腿和 2 对翅,蝉有 6 条腿和 1 对翅。三种虫子共 18 只,共有 118 条腿和 20 对翅。输出蜘蛛数量,蜻蜓数量,蝉的数量,如果多组数据,需换行。
2025-01-16 15:52:26
191
原创 区间排序
描述小杨有一个包含 n 个正整数的序列 a。小杨计划对序列进行多次升序排序,每次升序排序小杨会选择一个区间 [l,r](l≤r)并对区间内所有数字,即进行升序 al,al+1,…ar 排序。每次升序排序会在上一次升序排序的结果上进行。小杨想请你计算出多次升序排序后的序列。输入描述第一行包含一个正整数 n,含义如题面所示。第二行包含 n 个正整数 a1,a2,…an,代表序列 a。第三行包含一个正整数 q,代表排序次数。
2025-01-15 16:41:31
243
原创 表演打分
在一次运动会方队表演中,学校安排了十名老师进行打分。对于给定的每个参赛班级的不同打分(百分制整数),按照去掉一个最高分、去掉一个最低分,再算出平均分的方法,得到该班级的最后得分。一行10个用空格隔开的正整数,表示十名老师的打分。输出该班级的最终得分,答案保留三位小数。
2025-01-15 16:40:43
151
原创 数组排序
描述输入一个数组的值,求出各个值从小到大排序后的次序。输入描述输入有多组数据。每组输入的第一个数为数组的长度 n ,后面的数为数组中的值,以空格分割。输出描述各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。样例输入 116815样例输出 168提示。
2025-01-15 16:38:40
160
原创 最多的重复次数
第二行n个整数x,每个数字之间空格分隔(0 ≤ x ≤ 1018)。第一行一个整数n,表示序列中的数字个数(2 ≤ n ≤ 106)。请找出哪个数字重复次数最多,输出重复次数的最大值。有n个数字的一组序列,数字存在重复的情况。一个整数,表示最大的重复次数。注意:用vector存储序列。
2025-01-15 16:37:48
999
原创 分数的排名
描述CSP-J模拟考试分数出来了。老师想让作为资深C++学员的你找出 n 名同学中考 m 分的同学的排名,以便更好了解这次模拟考试的情况。请用你学过的“插入排序”算法完成任务。输入描述第一行两个正整数 n 和 m。第二行为 n 个用空格隔开的正整数,表示同学们的成绩。任意两名同学的成绩都不相同。输出描述一个正整数,表示考 m 分的同学在班级中的排名。样例输入 16 300样例输出 12提示。
2025-01-15 16:36:46
161
原创 随机数排序
小e生成了 n 个 1 到 100 之间的随机数,请帮小e将这些随机数按从大到小的顺序依次输出。第二行包含 n 个正整数(1到100之间),用空格隔开。一行,n 个从大到小排列的正整数。数字之间用空格隔开。第一行一个正整数 n。####数据范围与提示。
2025-01-15 16:34:36
126
原创 整数排序
输入 n 个正整数,请将这 n 个正整数升序排序后输出。一行升序排列的整数,数字之间用空格隔开。1≤n≤50000,1≤正整数≤100。第2行 n 个用空格隔开的正整数。第1行一个正整数 n。####数据范围与提示。
2025-01-15 16:33:20
125
原创 数列排序
描述给定一个长度为 n 的数列,将这个数列按从小到大的顺序排列。输入描述第一行为一个整数 n。第二行包含 n 个整数,为待排序的数,每个整数的绝对值小于 10000。输出描述输出一行,按从小到大的顺序输出排序后的数列。样例输入 158 3 6 4 9样例输出 13 4 6 8 9提示。
2025-01-15 16:32:40
115
原创 输出最长回文子串
给定一个长度为 N 的字符串 s,找到 s 中的最长回文子串(Longest Palindromic Substring,简称:LPS)。输出给定字符串中最长的回文子串。(如果存在多个长度相等的最长回文子串,输出第1个)
2025-01-04 20:55:15
125
原创 二叉树
描述小杨有⼀棵包含 n 个节点的二叉树,且根节点的编号为 1。这棵二叉树任意⼀个节点要么是白色,要么是黑色。之后小杨会对这棵二叉树进行 q 次操作,每次小杨会选择⼀个节点,将以这个节点为根的子树内所有节点的颜色反转,即黑色变成白色,白色变成黑色。小杨想知道 q 次操作全部完成之后每个节点的颜色。输入描述第⼀行一个正整数 n,表示二叉树的节点数量。第二行 (n−1) 个正整数,第 i(1≤i≤n−1)个数表示编号为 (i+1) 的节点的父亲节点编号,数据保证是⼀棵二叉树。
2025-01-04 20:52:50
310
原创 多少块水洼
有一块 N×M 的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?第一行为 N,M (1≤N,M≤100)。下面为 N×M的土地示意图。一行,共有的水洼数。
2024-11-24 19:45:30
282
原创 农作物
描述有一块农田被划分为 N×M 块,农作物和杂草分布生长在农田中,其中农作物使用大写字母“R”表示,杂草使用大写字母“X“表示。请计算出农田中有几块独立的农作物区域(独立的农作物区域指该区域上下左右都被杂草围住,且 N×M 以外的区域都是杂草)。例如:N=4,M=4,4×4 的农田中农作物和杂草分布如上图:这块 4×4 的农田中有3块独立的农作物区域(绿色的3部分)。输入描述。
2024-11-24 19:44:53
604
原创 探索迷宫
有一个m*n格的迷宫(表示m行、n列),用0表示可以通行,1表示障碍物不能通行,从迷宫的(1,1)位置开始出发,到指定的位置停止(两个数据描述,分别表示行和列)。走时只能是“上下左右”四个方向。如果无法到达输出”NO”(表示无路),否则输出”YES”。注意:第一行第一列元素坐标为(1,1)。第一行是两个数m,n(1<n,m<20),接下来是m行n列由1和0组成的数据。最后一行表示终点的坐标。如果能到达输出YES,否则输出NO。
2024-11-24 19:43:44
282
原创 迷宫
有 1 个 n×n 的迷宫方格,在方格内“0”表示可以通行,“1”表示是障碍物不能通行,在(n,n)位置有一个宝箱。现在有个人在左上角( 1 , 1 )的位置,他在迷宫内可以向当前位置的上、下、左、右四个方向行走,能不能在迷宫里走到宝箱位置( n,n )。输入第一行为 n(2 ≤n≤10 ),表示 n×n 的方格,接下来有 n 行,每行 n 个整数, 0 表示可以行走,1 表示不能行走,每个整数之间有个空格。如果可以走到终点,输出“YES”,否则输出“NO”
2024-11-24 19:43:03
203
原创 连通块
一个 n×m 的方格图,一些格子被涂成了黑色,在方格图中被标为 1,白色格子标为 0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每个黑色格子能通过四连通的走法(上下左右),只走黑色格子,到达该连通块中的其它黑色格子。接下来 n 行,每行 m 个整数,分别为 0 或 1,表示这个格子是黑色还是白色。一行一个整数 ans,表示图中有 ans 个黑色格子连通块。第一行两个整数 n,m,表示一个 n×m 的方格图。
2024-11-24 19:42:16
159
原创 3090 走迷宫
一天小明在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n×n (1≤n≤100) 的格点组成,每个格点只有 2 种状态,“.”和“#”,前者表示可以通行,后者表示不能通行。小明处在某个格点时,他只能移动到东西南北四个方向之一的相邻格点上,小明想要从点 A 走到点 B,问在走不出迷宫的情况下能不能办到。接下来是一个 n 的矩阵,矩阵中的元素为“.”或者“#”。最后一行是 4 个整数,前两个整数描述点 A 的坐标,后两个整数描述点B的坐标。一个整数,能办到输出“yes”,否则输出“no”。
2024-11-24 19:40:40
175
原创 象走田
大家知道下棋是很考验脑力的一项运动,小明和小强在一次下棋中突发奇想,计划来一次脑力和计算机的比拼。规则是这样的:n×n 的棋盘上给出起点和终点,计算从起点至终点最少走几步。小明使用脑力,小强使用计算机。棋子只有一枚,可以按照象走田的规则移动,从当前位置移到相邻的 4 个区域。如果不能走到终点,请输出 −1。表示起点坐标 (sx,sy),终点坐标 (ex,ey)。一个整数,表示最少步数,无法达到输出 −1。第二行四个整数 sx,sy,ex,ey。第一行一个整数 n,表示棋盘的大小。棋盘行列编号从 1 开始。
2024-11-24 19:39:33
370
原创 带重复元素的K数之和计数
已知 n 个整数 x1, x2, …, xn,其中可能包含重复元素,以及一个整数 k(k<n)。任务是从这 n 个整数中任选 k 个整数进行相加,计算所有可能的不同和,并统计每个和出现的次数。第二行,n 个正整数 x1, x2, …, xn(1≤xi≤50),各数之间用一个空格隔开。例如 n=3,k=2,3 个整数分别为 1,2,2。第一行,n 和 k(1≤n≤20,k<n)一个整数,表示不同和出现的次数。
2024-11-24 19:36:50
229
原创 降序优先的全排列
给定n个互不相同的正整数,这些数可能是乱序的。请编写一个程序,输出这些数字的所有可能全排列,但要求先输出较大的数字。第一行包含一个正整数n(1 ≤ n ≤ 9)。第二行包含n个互不相同的正整数,用空格分隔。输出所有可能的全排列,每种排列占一行。
2024-11-24 19:36:01
171
原创 选数(T2)
有一块 N×M 的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?第一行为 N,M (1≤N,M≤100)。下面为 N×M的土地示意图。一行,共有的水洼数。
2024-11-24 19:34:21
126
原创 5154 躲避陨石坑
描述某星球表面有很多的陨石坑,现在根据陨石坑的数量绘制了一张地图,如果从地图中的左上角走到右下角,只可以向右及向下走,怎样走才可以尽量经过少的陨石坑,最后输出经过陨石坑的数量。输入描述第一行输入两个整数 n 和 m,n 表示地图行数,m 表示地图的列数。第二行到第 n+1 行,每行 m 个数字,用空格隔开,每个数字表示一个区域内的陨石坑数量 k。输出描述一个整数,表示最少经历的陨石坑数量。样例输入 13 41 0 1 21 2 0 10 3 0 1样例输出 13提示。
2024-11-23 19:38:03
188
原创 5159 收割机
描述有一块土地,被划分成 n×m 的网格图(如图1),在这块土地上以网格为单位种植了不同的农作物,每个网格里有一个整数 k,表示当前网格的总产量,现在有一台智能收割机,它可以对任何农作物进行收割,收割机从网格图的左下角开始收割,只能往上或往右走,最终到达右上角位置,请问最多可以收割多少农作物。网格图示例:图1(n=3,m=4)输入描述第一行输入两个整数 n 和 m,表示网格图大小。第二行到第 n+1 行,每行 m 个整数 k 用空格隔开。输出描述一个整数,表示收割农作物的产量。
2024-11-23 19:35:58
198
原创 5157 路程时间
描述有 n×m 大小的网格图,每个格子里有一个整数 t,表示经过这个格子所需的时间,现在从网格的左上角出发,到达右下角,行进过程只能向右或向下,找到一条用时最短的路径,把需要的时间输出。(起点和终点的时间也要算在总时间里)网格图示例:(此网格图n=3,m=4)输入描述第一行两个整数 n 和 m,表示网格图的大小。第二行到第 n+1 行,每行 m 个整数 t,表示经过格子所需要的时间。输出描述一个整数,表示左上角到右下角的最少时间。样例输入 13 41 0 2 3。
2024-11-23 19:24:08
189
原创 5152 地下管道
有一个n*m的矩阵图,描述的是一幅管道图,入口在左上位置,出口在右下位置,接通管道的地方可以通行,有石头的地方不可以通行,通行时只能按照管道上标记的方向行走,如下图,现在需要知道从入口处到出口处一共有多少条不同的路径。输入两个整数,n和m用空格隔开,表示矩阵的大小。(1<n,m<20)输出一个整数,表示从入口到达出口的路径数量。
2024-11-23 18:58:04
346
空空如也
(标签-c++|关键词-运算符)
2025-01-18
c++最长公共子序列
2024-08-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人