C++实现计算不同可见情况的小鸟数量
以下是解决该问题的C++代码: ```cpp #include <iostream> #include <vector> #include <sstream> #include <string> using namespace std; // 计算被不同数量小鸟看到的小鸟数量 void countVisibleBirds(const vector<char>& birds) { int n = birds.size(); // 初始化被0只、1只、2只小鸟看到的小鸟数量 int seenBy0 = 0, seenBy1 = 0, seenBy2 = 0; for (int i = 0; i < n; ++i) { int visibleCount = 0; // 检查左边小鸟是否能看到当前小鸟 if (i > 0 && birds[i - 1] == 'p') { visibleCount++; } // 检查右边小鸟是否能看到当前小鸟 if (i < n - 1 && birds[i + 1] == 'q') { visibleCount++; } // 根据可见小鸟数量更新对应计数器 if (visibleCount == 0) { seenBy0++; } else if (visibleCount == 1) { seenBy1++; } else if (visibleCount == 2) { seenBy2++; } } // 输出结果 cout << seenBy0 << "," << seenBy1 << "," << seenBy2 << endl; } int main() { int N; cin >> N; cin.ignore(); // 忽略换行符 string input; getline(cin, input); vector<char> birds; stringstream ss(input); string token; // 解析输入的字符 while (getline(ss, token, ',')) { birds.push_back(token[0]); } // 调用函数计算并输出结果 countVisibleBirds(birds); return 0; } ``` ### 代码解释 1. **输入处理**:首先读取小鸟的数量`N`,然后读取一行包含逗号分隔的字符,将其解析为字符向量`birds`。 2. **计算可见小鸟数量**:遍历每只小鸟,检查其左右两边的小鸟是否能看到它,统计被0只、1只、2只小鸟看到的小鸟数量。 3. **输出结果**:将统计结果以逗号分隔的形式输出。 ######[AI问答 | 567点数解答 | 2026-02-28 12:30:34]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)213
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)219
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)266
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)331
- C++实现矩阵类:重载运算符+与=,含构造、析构及异常处理(字节豆包 | 671点数解答 | 2025-06-23 15:25:09)220
- C++ 实现矩阵类:重载运算符加与赋值,含构造、析构及错误处理(字节豆包 | 993点数解答 | 2025-06-23 15:27:43)148
- 深入解析格雷码生成算法:递归求解与代码实现(DeepSeek | 443点数解答 | 2026-01-05 12:21:49)42
- 深入探究:n 位格雷码中编号 k 二进制串的求解算法与实现(DeepSeek | 726点数解答 | 2026-01-13 12:31:37)40
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)298
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)53
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)7
- 用Python处理商品销售数据:替换类别、合并类目并输出前5行(百度文心 | 486点数解答 | 2024-08-23 09:14:21)303