队列
2026-07-23 22:21:49
发布于:湖南
6阅读
0回复
0点赞
用队列(queue)解答可能会比较麻烦点,但还好理解
#include <bits/stdc++.h>
using namespace std;
int n;
int t[5005];
queue<int> qu1;
queue<int> qu2;
queue<int> qu3;
int main() {
cin >> n;
for (int i = 1;i <= n;i++) {
cin >> t[i];
if (t[i] == 1) {
qu1.push(i);
} else if (t[i] == 2) {
qu2.push(i);
} else if (t[i] == 3) {
qu3.push(i);
}
}
int min_ans = min(qu1.size(), min(qu2.size(), qu3.size()));
cout << min_ans << endl;
if (min_ans != 0) {
for (int i = 1;i <= min_ans;i++) {
cout << qu1.front() << " " << qu2.front() << " " << qu3.front() << endl;
qu1.pop();
qu2.pop();
qu3.pop();
}
}
return 0;
}
这里空空如也






有帮助,赞一个