CUGB第四届程序设计大赛解题报告

CUGB第四届程序设计大赛解题报告

💡 原文中文,约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的细节错误导致调试时间浪费。

➡️

继续阅读