二维vector,用resize就可以ac,连续pushback却不行,为什么?
查看原帖
二维vector,用resize就可以ac,连续pushback却不行,为什么?
1160606
OKM_IS楼主2023/11/22 18:53
#include<iostream>
#include<vector>
using namespace std;
int main(){
    int n,q;
    cin>>n>>q;
    vector<vector<int> > a(100005);
    int op1,op2,op3,op4;
    for(int i=1;i<=q;i++){
        cin>>op1;

        if(op1==1){
            cin>>op2>>op3>>op4;
            if(a[op2].size()<op3)a[op2].resize(op3+5);//for(int i=1;i<=op3-a[op2].size();i++)a[op2].push_back(0);
            a[op2][op3-1]=op4;
        }

        if(op1==2){
            cin>>op2>>op3;
            cout<<a[op2][op3-1]<<'\n';
        }
    
    }
    return 0;
}

被注释掉的部分是连续push_back,但是提交就全RE,而不是TLE(除了subtask#1可以通过),这是为什么呢?求解答!

2023/11/22 18:53
加载中...