💡
原文中文,约5500字,阅读约需14分钟。
📝
内容提要
CUGB第四届程序设计大赛的解题报告涵盖多个题目,包括A题的灯状态判断、B题的金币统计、C题的集合去重、D题的贪心算法、E题的Floyd算法求最短路径、F题的Catalan数计算、G题的亲和数求解以及H题的得分规律分析。作者总结了使用Java编程的挑战,认为C++更为高效。
🎯
关键要点
-
A题:判断医院灯的状态,遇到1输出灯号,若全为0则输出-1。
-
B题:统计僵尸农场的金币总额,状态为'ripe'时加金币,遇到'withered'则心情变差。
-
C题:使用集合去重,输出集合大小。
-
D题:贪心算法,通过排序和正逆相加计算结果。
-
E题:使用Floyd算法求解多个最短路径,初始化状态传递。
-
F题:计算Catalan数,使用递归公式。
-
G题:求亲和数,使用暴力法和打表。
-
H题:分析得分规律,推导公式并实现代码。
❓
延伸问答
CUGB第四届程序设计大赛的主要题目有哪些?
主要题目包括灯状态判断、金币统计、集合去重、贪心算法、Floyd算法求最短路径、Catalan数计算、亲和数求解和得分规律分析。
在A题中,如何判断医院灯的状态?
遇到1输出灯号,若全为0则输出-1。
B题中如何统计金币总额?
只有在状态为'ripe'时才加金币,若遇到'withered'则心情变差。
D题的贪心算法是如何实现的?
通过排序和正逆相加计算结果。
Floyd算法在E题中的应用是什么?
用于求解多个最短路径,初始化状态传递。
作者对使用Java编程的看法是什么?
作者认为C++更为高效,Java的细节错误导致调试时间浪费。
➡️