stl解决猴子选大王
时间: 2024-06-19 08:02:26 浏览: 10
STL(Standard Template Library)是C++中的一个标准模板库,它包含了许多数据结构和算法。在猴子选大王这个问题中,我们可以使用STL中的队列(queue)来解决。
具体来说,我们可以先把所有的猴子按顺序编号,然后将它们放入一个队列中。接着,我们可以从队列中不断弹出两个猴子,比较它们的体重,将体重较轻的那个猴子重新放回队列尾部,直到只剩下一只猴子为止,这只猴子就是选出来的大王。
以下是示例代码:
```c++
#include <iostream>
#include <queue>
using namespace std;
int main() {
int n; // 猴子数量
cin >> n;
queue<int> q;
for (int i = 1; i <= n; i++) {
q.push(i); // 将猴子编号放入队列
}
while (q.size() > 1) {
int monkey1 = q.front(); q.pop();
int monkey2 = q.front(); q.pop();
int weight1, weight2;
cin >> weight1 >> weight2; // 输入两个猴子的体重
if (weight1 > weight2) {
q.push(monkey1);
} else {
q.push(monkey2);
}
}
cout << q.front() << endl; // 输出最后剩下的猴子编号,即大王
return 0;
}
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)