tierzero @ 2022-03-09 14:49:22
```cpp
#include <bits/stdc++.h>
#define MAXN int(2e7+1)
#define INF int(pow(2,31)-1)
using namespace std;
typedef long long LL;
#define f(m,a,b) for(int m=a;m<=b;m++)
#define f2(i,a,b) for(int i=a;i>=b;i--)
int n,q,d,i,j,k;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("title.in","r",stdin);
freopen("title.out","w",stdout);
#endif
cin>>n>>q;
vector< vector<int> > ls(n+1);
while(q--){
cin>>d;
if(d==1){
cin>>i>>j>>k;
//改成if(j+1>ls[i].size()) 就ac了
if(j>(ls[i].size()-1))
//出现异常。
EXC_BAD_ACCESS (code=1, address=0x9c40)
ls[i].resize(j+1);
ls[i][j]=k;
}else if(d==2){
cin>>i>>j;
cout<<ls[i][j]<<endl;
}
}
return 0;
}
by bdzzj @ 2022-03-09 14:59:50
size()函数返回的是unsigned long long,如果是0再减一就爆了
by rxjdasiwzl @ 2022-03-09 15:51:58
@bdzzj 返回值是该容器的成员 typedef size_type
,而该类型通常被定义为与 std::size_t
相同。而 std::size_t
不一定是 unsigned long long
,比如在 Ubuntu 20.04 下就是 unsigned long
。