Pascal实现电视节目观看数量最大化问题的解决方案
以下是解决该问题的Pascal代码: ```pascal program TVPrograms; type ProgramType = record start: integer; endTime: integer; end; var programs: array[1..100] of ProgramType; n, i, j, count, currentEnd: integer; temp: ProgramType; // 交换两个节目的位置 procedure swap(var a, b: ProgramType); var t: ProgramType; begin t := a; a := b; b := t; end; // 按节目结束时间排序 procedure sortPrograms(var arr: array of ProgramType; len: integer); var i, j: integer; begin for i := 1 to len - 1 do for j := i + 1 to len do if arr[i].endTime > arr[j].endTime then swap(arr[i], arr[j]); end; begin readln(n); while n <> 0 do begin // 读取节目信息 for i := 1 to n do begin readln(programs[i].start, programs[i].endTime); end; // 按节目结束时间排序 sortPrograms(programs, n); // 初始化计数器和当前结束时间 count := 0; currentEnd := 0; // 贪心算法选择节目 for i := 1 to n do begin if programs[i].start >= currentEnd then begin inc(count); currentEnd := programs[i].endTime; end; end; // 输出结果 writeln(count); // 读取下一组数据 readln(n); end; end. ``` ### 代码解释 1. **数据结构**:定义了一个`ProgramType`记录类型,包含节目开始时间`start`和结束时间`endTime`。 2. **排序函数**:`sortPrograms`函数使用冒泡排序算法按节目结束时间对节目进行排序。 3. **贪心算法**:在排序后,从第一个节目开始,只要当前节目的开始时间大于等于上一个节目结束时间,就选择该节目,并更新当前结束时间。 4. **主程序**:读取输入的节目数量和每个节目的开始和结束时间,调用排序函数,使用贪心算法选择节目,并输出能完整看到的节目数量。 ######[AI问答 | 587点数解答 | 2026-03-18 18:01:57]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)221
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)227
- 导出功能优化:解决多次导出、过程异常、失败提示及完成通知问题 (DeepSeek | 1点数解答 | 2025-02-12 17:35:54)185
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)273
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)340
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)308
- 开启多语言编程模式:C++、Python、Pascal、Java、C语言为你解答问题!(字节豆包 | 33点数解答 | 2025-12-13 19:57:46)48
- 用Pascal和C语言解单调方程:求最小正小数x使S(x)>y(DeepSeek | 1664点数解答 | 2025-12-17 17:52:32)30
- 编程五语齐上阵!满足你问题的多样解答需求(DeepSeek | 34点数解答 | 2025-12-27 19:46:30)46
- Pascal实现电视节目观看数量最大化问题的解决方案(字节豆包 | 587点数解答 | 2026-03-18 18:01:57)6
- 用Python处理商品销售数据:替换类别、合并类目并输出前5行(百度文心 | 486点数解答 | 2024-08-23 09:14:21)309
- Python 破解:计算序列中满足特定取余条件元素的数量(字节豆包 | 174点数解答 | 2025-05-13 21:29:55)185