BMI 分类计算-2025
身体质量指数(BMI,Body Mass Index)是评估个体体重是否处于健康范围的重要参考指标。给定一个人的身高(单位:米)与体重(单位:公斤),可通过以下公式计算其 BMI 值:
BMI = 体重(kg) / 身高(m)
根据计算结果,可将体重状况划分为以下四类:
- 偏瘦(Thin):当 BMI 小于 18.5
- 正常(Normal):当 BMI 大于等于 18.5 且小于 24
- 超重(Overweight):当 BMI 大于等于 24 且小于 28
- 肥胖(Fat):当 BMI 大于等于 28
Thin
Normal
Overweight
Fat
输入格式为两个以空格分隔的浮点数,分别表示体重(kg)和身高(m)。
输出应为对应的分类名称。
示例输入:
70 1.75
对应输出:
Normal
回文构造问题-2025
题目要求:给定一个字符串 s,每次操作允许在任意位置插入任意字符。目标是通过最少次数的插入操作,使原字符串变为回文串。
需要求解两个内容:
- 最少需要插入的字符数量;
- 最终形成的回文串的具体形式。
输入格式为一行字符串 s。
输出格式如下:
- 第一行为最少插入的字符个数;
- 第二行为构造出的回文串。
数据保证字符串长度在 [1, 500] 范围内。
示例输入:
abac
示例输出:
1
cabac
最快到达-2023
问题设定在一条长度为 n1 公里的道路上,沿途设有 n 块路牌,每公里处一块。你起始于第 1 块路牌位置,目标是尽快抵达道路终点(即第 n 块路牌位置)。
你有两种移动方式:
- 步行前进 1 公里,耗时 1 分钟;
- 瞬移至当前路牌数字相同的最近位置,同样耗时 1 分钟。
注意:若存在多个相同数字的路牌,选择距离当前位置最近的一个进行传送。
输入包括:
- 第一行一个整数 n(n ≤ 1e5);
- 第二行包含 n 个整数 a[i],表示各路牌上的数字,数值范围为 (1e15, 1e15)。
输出一个整数,代表从起点到终点所需的最短时间(单位:分钟)。
示例输入:
5
1 0 -1 0 2
示例输出:
3
高尔夫比赛的森林砍树-2023
现需为一场高尔夫赛事清理一片树林。该区域由一个 m×n 的二维网格表示,其中:
- 0 表示障碍物,不可进入;
- 1 表示可通行的地面;
- 大于 1 的数值表示该格有树,数值代表树的高度,也可通行。
你的任务是从坐标 (0, 0) 出发,按照树的高度由低到高依次砍伐所有树木。每次砍倒一棵树后,其所在格子变为 1(即可行走的地面)。
每一步可以向上下左右四个方向之一移动一格。若当前位置有树,可以选择将其砍伐。
目标是计算完成全部砍树任务所需的最小步数。如果无法完成,则返回 1。
已知所有树的高度互不相同,且至少存在一棵树需要砍伐。
输入格式:
- 首行两个整数 m 和 n,表示矩阵大小;
- 接下来 m 行,每行 n 个整数,描述整个网格。
示例输入:
3 3
1 2 3
0 0 4
7 6 5
示例输出:
6
概率最大的路径-2022
给定一个包含 n 个节点(编号从 0 开始)的无向加权图。图的边由边列表 edges 给出,其中每个元素 edges[i] = [a, b] 表示节点 a 与节点 b 之间有一条无向边,其成功通过的概率为 succProb[i]。
指定起点 start 与终点 end,要求找出从起点到终点的所有路径中,整体成功概率最高的那条路径,并返回该最大概率值。
若不存在从 start 到 end 的路径,则返回 0。
只要结果与标准答案误差不超过 1e5,即视为正确。
示例 1:
输入参数:
- n = 3
- edges = [[0,1], [1,2], [0,2]]
- succProb = [0.5, 0.5, 0.2]
- start = 0
- end = 2
输出结果:0.25000
解释:存在两条路径可从节点 0 到达节点 2。其中一条路径的成功概率为 0.2,另一条为 0.5 × 0.5 = 0.25,因此最大概率为 0.25。
0.5 × 0.5 的计算结果为 0.25。
示例 2:
输入数据:
n = 3,表示图中节点数量为 3;
edges = [[0,1], [1,2], [0,2]],表示各节点之间的连接关系;
succProb = [0.5, 0.5, 0.3],表示每条边的成功概率;
start = 0,起始节点;
end = 2,目标节点。
输出结果:0.30000
示例 3:
输入数据:
n = 3;
edges = [[0,1]];
succProb = [0.5];
start = 0;
end = 2。
输出结果:0.00000
解释:从节点 0 到节点 2 没有可行路径,因此结果为 0。
数据范围说明:
- 节点数 n 满足:2 ≤ n ≤ 10;
- 起点与终点满足:0 ≤ start, end < n,且 start ≠ end;
- 每条边的两个端点 a 和 b 满足:0 ≤ a, b < n,且 a ≠ b;
- 边的数量和成功概率数组长度一致,范围为:0 ≤ succProb.length == edges.length ≤ 2×10;
- 每个成功概率值满足:0 ≤ succProb[i] ≤ 1。
3
0 1
1 2
0 2
0.5 0.5 0.2
0 2
0.25000
目标和 - 2021
题目描述:
给定一个非负整数序列 x, x, ..., x。对每个数可以选择保持原值或取其相反数(即加负号)。要求计算有多少种不同的符号分配方式,使得最终所有数的总和等于指定的目标值 E。
请编写程序并阐述解题思路。
输入格式:
- 第一行:输入非负整数序列;
- 第二行:输入目标和 E。
输出格式:
输出满足条件的方案总数。
1 1 1 1 1
3
5
打地鼠 - 2020
题目描述:
给定 n 个整数 a, a, ..., a 和一个非负整数 d。需要从中选择若干个数字,并将它们按升序排列,使得任意两个相邻元素之间的差值不小于 d。求最多可以选出多少个数字。
输入格式:
- 第一行包含两个整数 n 和 d,其中 1 ≤ n ≤ 10,0 ≤ d ≤ 10,分别表示数字的总数和相邻数字间最小差值的要求;
- 第二行包含 n 个整数 a 到 a,满足 1 ≤ a ≤ 10,表示原始数据。
输出格式:
输出一个整数,表示最多可选的数字个数。
6 2
1 4 2 8 5 7
3
日期差值 - 2019
题目描述:
输入一个日期,格式为 YYYYMMDD,计算该日期与基准日期 20190205 之间相隔的天数。
输入样例:
20190208
输出样例:
3
求众数 - 2018
题目描述:
给定一个长度为 n 的整数序列,找出其中出现次数最多的数字,即众数。如果存在多个众数,则输出数值最小的那个。
输入格式:
- 第一行输入一个整数 n,表示序列长度;
- 第二行输入 n 个整数,表示序列内容。
输出格式:
输出序列中的众数;若有多个,输出最小值。
8
10 3 8 8 3 2 2 2
2
求交点 - 2018
题目描述:
给定两条直线,每条直线由其上的两个端点确定。要求计算这两条直线的交点坐标。若两直线平行(无交点)或重合(无穷多交点),则输出特定提示信息。
交点坐标的输出需保留两位小数。
输入格式:
- 第一行包含四个整数 x1, y1, x2, y2,表示第一条直线上两点的坐标;
- 第二行包含四个整数 x3, y3, x4, y4,表示第二条直线上两点的坐标。
输出格式:
输出交点的横纵坐标,各保留两位小数。若不存在唯一交点,则输出:
Parallel or coincident
数据范围:
所有坐标值满足:0 ≤ x[i], y[i] ≤ 10。
求中位数-2017
题目描述
中位数的定义是:将一组数据按从小到大的顺序排列后,位于中间位置的数值。若数据个数为奇数,则取正中间的那个数;若为偶数,则取最中间两个数的平均值,并对结果进行向下取整(无需使用浮点运算)。
给定若干组无序整数序列,要求计算每组数据的中位数。
输入格式
多组测试数据。每组数据第一行为一个整数 N,表示该组数据包含的整数个数(1 ≤ N ≤ 10000)。
接下来 N 行,每行输入一个整数。
当 N = 0 时,输入结束。
输出格式
对每组数据输出对应的中位数。
输入样例
4
10
30
20
40
3
40
30
50
4
1
2
3
4
0
输出样例
25
40
2
最长公共子序列LCS-0
题目描述
给定三个字符串,求它们的最长公共子序列。
例如:
输入:
abcd
acb
abc
输出:
ab
输入格式
输入三个字符串,每个占一行。
输出格式
输出这三个字符串的最长公共子序列。
输入样例
abcd
acb
abc
输出样例
ab
最大公共子串长度-2016
题目描述
提供两个字符串,要求找出它们之间最长的公共子串的长度。
输入样例
fdfdfd42543
232fdfdfdjlkj
输出样例
6
Hanoi塔问题-0
题目描述
有三根塔座,分别标记为 A、B 和 C。在塔座 A 上从上到下按从小到大的顺序叠放着 n(n < 20)个大小不同的圆盘。目标是将所有圆盘从 A 移动到 C,保持原有的叠放顺序。移动过程中需遵守以下规则:
- 每次只能移动一个圆盘;
- 圆盘可以放置在任意一根塔座上;
- 不允许将较大的圆盘压在较小的圆盘之上。
请编写程序打印出所有移动步骤。
输入格式
单组输入。输入一个整数 N,代表起始时 A 塔上的圆盘数量。当输入为 0 时,程序终止。
输出格式
按顺序输出移动步骤,格式如 “A-->C” 或 “A-->B”。每两个步骤之间用三个空格分隔,每输出 5 个步骤后换行。具体格式参考样例输出。
输入样例
5
2
0
输出样例
A-->C A-->B C-->B A-->C B-->A
B-->C A-->C A-->B C-->B C-->A
B-->A C-->B A-->C A-->B C-->B
A-->C B-->A B-->C A-->C B-->A
C-->B C-->A B-->A B-->C A-->C
A-->B C-->B A-->C B-->A B-->C
A-->C
A-->B A-->C B-->C
输入样例
0 0 5 5
0 2 2 0
输出样例
1.00 1.00

雷达卡


京公网安备 11010802022788号







