巧用队列算法:求解 n 人围圈游戏的获胜者序列号
```cpp #include <iostream> #include <cstdlib> #include <queue> using namespace std; int findTheWinner(int n, int k) { // 创建一个队列来模拟小伙伴围成的圈 queue<int> circle; // 将 1 到 n 的小伙伴编号依次加入队列 for (int i = 1; i <= n; ++i) { circle.push(i); } // 当队列中不止一个小伙伴时,继续游戏 while (circle.size() > 1) { // 数 k - 1 个小伙伴 for (int i = 1; i < k; ++i) { // 将队首的小伙伴移到队尾 int front = circle.front(); circle.pop(); circle.push(front); } // 移除数到的第 k 个小伙伴 circle.pop(); } // 返回队列中剩下的最后一个小伙伴,即获胜者 return circle.front(); } ``` ######[AI问答 | 235点数解答 | 2025-11-05 15:04:55]
相关提问
- 超燃年会来袭!诗舞歌戏轮番上阵,共赴欢乐盛宴! (字节豆包 | 206点数解答 | 2025-01-08 10:59:43)344
- Linux开发必备:物理机BIOS、型号、网卡驱动及虚拟机判断查询攻略(百度文心 | 328点数解答 | 2023-11-09 18:48:49)260
- C#工程师必知:数组、链表、哈希、队列、栈数据结构优缺点大揭秘! (百度文心 | 561点数解答 | 2023-11-09 17:56:30)263
- 揭秘!十进制整数转其他进制用啥存储结构最合适?答案竟是它!(字节豆包 | 57点数解答 | 2024-11-13 01:21:11)236
- Java 实现仿 Windows 资源管理器:文件管理器功能全解析与代码示例(字节豆包 | 623点数解答 | 2025-01-01 14:59:04)248
- 用队列操作算法模拟周末舞会舞伴配对问题及代码实现(DeepSeek | 601点数解答 | 2025-05-18 11:27:45)183
- 探秘各类游戏:多样玩法带来不同乐趣!(字节豆包 | 77点数解答 | 2025-05-04 01:10:38)170
- Python代码实现:带窗口、滚轴、重力、惯性与怪物的类马里奥游戏(字节豆包 | 964点数解答 | 2025-06-13 19:11:12)196
- 游戏大观:从类型到平台,追溯其发展与魅力!(字节豆包 | 268点数解答 | 2025-07-10 17:57:48)182
- C++ 实现:自由定制,开启独特棋类游戏设计之旅!(字节豆包 | 1441点数解答 | 2025-12-28 15:02:52)47
- C++ 实现:自由定制,打造专属棋类游戏盛宴!(字节豆包 | 2307点数解答 | 2025-12-28 15:04:23)43
- C++实现:自由定制的多元棋类游戏,规则齐全玩法多样!(字节豆包 | 2601点数解答 | 2025-12-28 15:12:21)38