@[zll654321](/user/965592)
~~你这vector里套vector是什么操作啊(恼)~~
给你改了一下,这样就能AC了awa
```cpp
#include<bits/stdc++.h>
using namespace std;
int i,j,opt,k,n,q;
const int N = 114514;
vector<int>v[N];
int main()
{
cin>>n>>q;
while(q--)
{
cin>>opt;
if(opt==1)
{
cin>>i>>j>>k;
if(v[i].size()<j+1) v[i].resize(j+1);
v[i][j]=k;
}
else{
cin>>i>>j;
cout<<v[i][j]<<endl;
}
}
return 0;
}
```
by __DIOsama__ @ 2023-08-16 16:08:38
@[DIO__](/user/751866) 谢谢DALAO,可是vector里套vector不是vector二维数组的形式嘛?
by Studyingson @ 2023-08-16 16:15:46
@[zll654321](/user/965592) az我反正没用过,不敢用,我一般都是定一个vector的一维数组然后当二维数组用awa
by __DIOsama__ @ 2023-08-17 12:11:18
@[DIO__](/user/751866) 你还可以尝试一下用map~~(如果没事干)~~
by lao_wang @ 2023-08-20 15:03:12
@[lao_wang](/user/701408)
~~我试过std::map<std::map<std::vector<int>,int>,int>~~
by __DIOsama__ @ 2023-08-20 15:13:59
@[lao_wang](/user/701408) ~~锕那个是别的题的()~~
by __DIOsama__ @ 2023-08-20 18:20:02
@[DIO__](/user/751866) ~~啊眼睛不太好看错人了以为是楼主~~
by lao_wang @ 2023-08-20 18:29:14
vector 需要初始化大小的,否则默认为空,所以你直接访问v[i],内存越界就RE了,需要 ```v.resize(n + 1);```
by Sqj147 @ 2023-10-12 10:35:15
```cpp
```
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,q,opt,i,j,k;
int main(){
cin >>n >>q;//寄包柜个数和询问次数
vector<vector<int> > locker (n+1);//初始化,一共0到n号寄包柜
while (q--){
cin >> opt;
if(opt == 1){//存包操作
cin >>i>>j>>k;
if(locker[i].size()<j+1)//如果这个寄包柜不够大
locker[i].resize(j+1);//就扩大新的寄包柜,直到能装下
locker[i][j]= k;
}
else{
cin >> i >>j;
cout<<locker[i][i]<<endl; //像数组一样输出
}
return 0;
}
```
@[Sqj147](/user/646353) 为什么只有20分
by Haiiao @ 2024-02-28 11:37:37