麻烦大佬们看看这是什么问题

P3613 【深基15.例2】寄包柜

_Elliy_ @ 2023-01-18 21:42:52

#include <bits/stdc++.h>

using namespace std;

int n, q, x, y, op, k;
vector <int, vector <int> > v;
int main(){
    cin >> n >> q;
    vector <int, vector <int> > v(n);
    while (q--){
        cin >> op;
        if (op == 1){
            cin >> x >>y >> k;
            v[x][y] = k;
        }else{
            cin >> x >>y;
            cout << v[x][y];
        }
    }

    return 0;
}

CE信息:

是什么错了啊喂


by _Elliy_ @ 2023-01-18 21:43:23

是我vector便用不规范吗


by RP_INT_MAX @ 2023-01-18 21:47:49

@Kiri_huangerya 提前 resize 或者 reserve 试试看?


by _Elliy_ @ 2023-01-18 21:48:49

@RP_INT_MAX 我试试


by Adchory @ 2023-01-18 21:50:56

@Kiri_huangerya 不应该这样定义吗 vector < vector <int> > v;


by _Elliy_ @ 2023-01-18 21:51:49

@Reimu_Hakurei 改了还是CE


by Adchory @ 2023-01-18 21:52:15

@Kiri_huangerya 我这边没问题啊


by _Elliy_ @ 2023-01-18 21:52:16

@Reimu_Hakurei 我好像是pair搞混了?


by OtoriEmu @ 2023-01-18 21:52:56

vector 模板类的第二个参数是内存管理类,我猜你想表达的不是这个意思。


by RP_INT_MAX @ 2023-01-18 21:53:40

@Kiri_huangerya 按那人说的改,然后里面 vector 去掉,然后再提前给每个 vector reserve


by ud2_ @ 2023-01-18 21:54:23

vector 的两个模板参数分别是元素类型和分配器类型。二维 vector 是元素为 vector<int>vectorvector<vector<int>>)而不是元素为 int、分配器为 vector<int>vectorvector<int, vector<int>>)。


| 下一页