考点
题解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #include <bits/stdc++.h> using namespace std;
int main() { int n, m, opt, i, j, k; cin >> n >> m; vector<vector<int>> v(n + 1); while (m--) { cin >> opt; if (opt == 1) { cin >> i >> j >> k; if (v[i].size() < j) v[i].resize(j + 1); v[i][j] = k; } else { cin >> i >> j; cout << v[i][j] << endl; } } return 0; }
|
思路
由于寄包柜格子数量会改变,所以应该用vector
来存放
如果某寄包柜的格子数量不够,直接用vector
的resize
函数扩容即可
也不需要考虑容量回收,因为题目说了保证查询的柜子有存过东西,哪怕是0也要保留下来