酷代码 AI
菜单
服务商

有N个人排成一排,假设他们的身高均为正整数,请找出其中符合以下条件的人:排在他前面且比它高的人数与排在他后面且比他高的人数相等 输入 第一行为一个正整数 N , 1 ≤ n ≤ 1000 N,1≤n≤1000,表示有多少人。 下面N行,每行一个正整数,表示从前往后每个人的身高,假设每个人的身高 ≤ 10000 ≤10000. 输出 一行一个整数,表示满足这个条件的人数 以C++的形式回答

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int heights[1000]; // 读取每个人的身高 for (int i = 0; i < n; i++) { cin >> heights[i]; } int count = 0; // 遍历每个人 for (int i = 0; i < n; i++) { int frontTaller = 0; int backTaller = 0; // 统计排在前面且比他高的人数 for (int j = 0; j < i; j++) { if (heights[j] > heights[i]) { frontTaller++; } } // 统计排在后面且比他高的人数 for (int j = i + 1; j < n; j++) { if (heights[j] > heights[i]) { backTaller++; } } // 判断是否满足条件 if (frontTaller == backTaller) { count++; } } cout << count << endl; return 0; } ``` [2026-02-07 21:05:00 | AI问答 | 284点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多