p1011 [noip1998 提高组] 车站
时间: 2023-04-25 19:06:26 浏览: 76
题目描述:
有一个车站,有n个人要上车,但是车只有m个座位,所以只有前m个人能够上车,后面的人只能等下一班车。现在有k辆车,每辆车的座位数也是m个,问最少需要多少时间才能让所有人都上车?
输入格式:
输入共k+1行,第一行包含三个整数n,m,k,分别表示总人数,每辆车的座位数,以及车的数量。
接下来k行,每行包含m个整数,表示每辆车上的人的编号,编号从1开始。
输出格式:
输出一个整数,表示最少需要的时间。
输入样例:
10 3 3
1 2 3
4 5 6
7 8 9
10
输出样例:
4
算法1
(贪心) $O(n)$
每辆车都坐满,这样可以保证最少的车次数。
时间复杂度
参考文献
python3 代码
C++ 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
相关问题
p1012 [noip1998 提高组] 拼数
题目描述
给定 $n$ 个正整数 $a_1,a_2,\cdots,a_n$,将它们联接成一排,组成一个最大的多位整数。
例如: $n=3$, $a_1=3$, $a_2=32$, $a_3=321$,则可以联接成的最大整数为 $332321$。
输入格式
第一行输入一个正整数 $n$,表示正整数的个数。
第二行输入 $n$ 个正整数 $a_1,a_2,\cdots,a_n$,表示给定的正整数。
输出格式
输出联接成的最大整数。
数据范围
$1\leq n\leq 100$
输入样例
3
3 32 321
输出样例
332321
算法1
(字符串排序) $O(nlogn)$
1.将所有数字转化为字符串
2.将字符串按照特定规则排序
3.将排序后的字符串拼接起来
时间复杂度
参考文献
python3 代码
C++ 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
noip1998普及组
NOI(全国青少年信息学奥林匹克竞赛)是中国高中生之间的信息学竞赛。其中,NOIP是NOI的普及组比赛,面向初学者和对信息学有兴趣的学生。
NOIP普及组赛事旨在提高学生的信息学素养和编程能力。它是一个多阶段的比赛,包括线上选拔赛和线下决赛。在这个比赛中,学生需要通过解决计算机编程和算法问题来展示他们的能力。这些问题涵盖了计算机的基本知识和编程技巧,如逻辑思维、数据结构、算法设计等。
参加NOIP普及组的学生,无论是否有coding经验,都能在这个比赛中有所收获。普及组是让初学者们能够了解计算机科学和编程的一个很好的平台。通过比赛的经历,学生们可以增强解决问题的能力、培养自信心和团队合作精神。
NOIP普及组不仅提供比赛机会,还有相关的培训和学习资源。学生们可以参加讲座、培训班和编程比赛等活动,以提高他们的知识和技能。此外,他们还可以通过在线论坛和社区与其他参赛者交流和互动,学习他人的经验和方法。
总之,NOIP普及组是一个为初学者提供机会展示和提高他们信息学和编程能力的竞赛。通过参与其中,学生们不仅能够发展自己的技能,还能够与其他编程爱好者交流,共同成长。