酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

[BJ2007.X3] 排队/婷婷的身高 题目描述 婷婷是一个喜欢舞蹈的女孩儿,还报了一个专门学习舞蹈的班呢。 在入学的时候,老师让大家根据自己的身高排了一下队,个子小的同学排前面,个子一样高的同学,先后顺序随意。 如果给你这些同学的身高数据,你能计算一下婷婷最前可以排第几、最后可以排第几么? 输入格式 第一行是一个整数 n n ( 1 ≤ n ≤ 3 0 ) 1≤n≤30),表示舞蹈班所有同学的人数。 第二行是n个整数,表示所有同学的身高(不超过 3 0 0 300 厘米),以厘米为单位。这n个同学的数据,包括婷婷本人的。 第三行是一个整数,表示婷婷的身高。 输出格式 只有两个整数,用空格分开,分别表示:从前面数,婷婷可能排的最前的位置和最后的位置。 样例 #1 样例输入 #1 8 133 134 132 133 131 130 138 133 133 样例输出 #1 4 6 提示 请输入答案 C++

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int heights[n]; for (int i = 0; i < n; i++) { cin >> heights[i]; } int ttingHeight; cin >> ttingHeight; int frontCount = 0, backCount = 0; for (int i = 0; i < n; i++) { if (heights[i] < ttingHeight) { frontCount++; } else if (heights[i] == ttingHeight) { backCount++; } } int frontPosition = frontCount + 1; int backPosition = frontCount + backCount; cout << frontPosition << " " << backPosition << endl; // 额外注意: // 1. 注意输入数据的合法性检查。 // 2. 考虑使用更高效的数据结构,如排序后的数组。 // 3. 对于大规模数据,要注意算法的时间和空间复杂度。 return 0; } ``` [2025-01-14 10:49:37 | AI写代码神器 | 263点数解答]

相关提问