传送门
考察了背包型 Vector和 Vector容器的一些基本操作.
Code:
#include <bits/stdc++.h>
using i64 = long long;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n, q;
std::cin >> n >> q;
std::vector<int> a[n];
//包含n个背包的vector
while (q--) {
int opt;
std::cin >> opt;
if (opt == 0) {
int t, x;
std::cin >> t >> x;
a[t].emplace_back(x);
//往背包 a[t] 里面插入元素 x
} else if (opt == 1) {
int t;
std::cin >> t;
if (!a[t].size()) {
std::cout << "\n";
//注意这里的特判~
} else {
for (int i = 0; i < a[t].size(); i++) {
std::cout << a[t][i] << " \n"[i == a[t].size() - 1];
}
}
} else if (opt == 2) {
int t;
std::cin >> t;
a[t].clear();
//清空背包 a[t]
}
}
return 0;
}