修改后的代码解决原代码WA问题,准确判断选拔是否结束
### 🐞问题分析 原代码WA(Wrong Answer)可能是因为对问题的逻辑判断存在偏差。原代码中对于判断选拔是否结束的逻辑不够准确。具体来说,原代码仅考虑了程序员数量的奇偶性、算法数量是否为 1 以及算法数量是否是程序员数量的约数这些情况,但没有全面考虑问题的本质。实际上,当程序员数量 \(n\) 为偶数且算法数量 \(m\) 是 \(n\) 的约数时,才会出现无法结束选拔的情况,但原代码在逻辑处理上可能存在漏洞。 ### 💡修改方案 以下是修改后的代码: ```cpp #include <iostream> using namespace std; // 判断选拔是否会结束 bool willEnd(int n, int m) { // 如果程序员数量为奇数,无论怎样投票,都不会出现票数完全相同的情况,选拔会结束 if (n % 2 == 1) { return true; } // 如果算法数量为1,选拔直接结束 if (m == 1) { return true; } // 如果程序员数量为偶数且算法数量是程序员数量的约数,选拔不会结束 if (n % 2 == 0 && n % m == 0) { return false; } return true; } int main() { int t; cin >> t; // 读取测试数据的组数 for (int i = 0; i < t; i++) { int n, m; cin >> n >> m; // 读取程序员数量n和算法数量m if (willEnd(n, m)) { cout << "YES" << endl; } else { cout << "NO" << endl; } } return 0; } ``` ### 📝代码解释 - `willEnd` 函数: - 首先判断程序员数量 \(n\) 是否为奇数,如果是奇数,无论怎样投票都不会出现票数完全相同的情况,选拔会结束,返回 `true`。 - 接着判断算法数量 \(m\) 是否为 1,如果为 1,选拔直接结束,返回 `true`。 - 最后判断程序员数量 \(n\) 为偶数且算法数量 \(m\) 是 \(n\) 的约数时,选拔不会结束,返回 `false`。 - 其他情况返回 `true`。 - `main` 函数: - 读取测试数据的组数 \(t\)。 - 循环 \(t\) 次,每次读取程序员数量 \(n\) 和算法数量 \(m\)。 - 调用 `willEnd` 函数判断选拔是否会结束,并输出结果。 ######[AI问答 | 653点数解答 | 2026-04-19 16:11:10]
- C3期末:精准求解 3 - 20 范围内数列第 k 项值及注意要点(字节豆包 | 242点数解答 | 2025-06-15 11:26:19)146
- C++求解:查找3 - 20项数列第k项值及注意要点(字节豆包 | 325点数解答 | 2025-06-15 11:27:11)168
- JS 代码:判断“red”改值为“green”并弹窗显示结果( | 176点数解答 | 2024-05-20 21:33:04)426
- 用 JS 代码巧妙判断 a 与 b 关系:输出对应结果 ( | 47点数解答 | 2024-05-20 22:10:14)334
- 仅 22%通过率!判断 ac 字符串,Python 代码及边界处理揭秘(字节豆包 | 163点数解答 | 2024-12-13 21:40:55)140
- 仅22%通过率!C++判断ac字符串,这些异常情况你考虑到了吗?(字节豆包 | 279点数解答 | 2024-12-13 21:41:09)143
- 仅22%通过率!C++ 判断字符串是否为 ac 字符串,附代码与注意点(字节豆包 | 265点数解答 | 2024-12-13 21:41:48)107
- 2025年截止提交项目得零分!C语言五大错误深度剖析与解决方案 (字节豆包 | 857点数解答 | 2025-07-10 21:26:21)174
- C++利用双栈实现含括号及四则运算的表达式求值算法(以#结束)(阿里通义 | 1018点数解答 | 2024-10-19 16:12:31)183
- C语言实现:精准统计用户输入英文中字母、数字、空白与标点数量 (字节豆包 | 428点数解答 | 2024-12-07 23:30:43)243
- 易语言实现守护程序与被守护程序:精易模块助力,自动重启保障运行!(DeepSeek | 1313点数解答 | 2025-04-10 00:14:48)233
- Python 实战:统计学生成绩与大学类型数量,附代码及注意点(字节豆包 | 388点数解答 | 2025-05-09 10:52:51)262