为什么第一个过不了就80????
查看原帖
为什么第一个过不了就80????
1319338
leiyuhan楼主2024/9/14 08:58
#include<iostream>  
#include<vector>  
using namespace std;

struct GE {
    int data;
};

struct GZ {
    vector<GE> gezi; // 使用 vector 替代 GE*  
    // vector  size()  
};

struct shop {
    vector<GZ> find; // 使用 vector 替代 GZ*  
};

int main() {
    int n, q;
    cin >> n >> q;
    shop p;
    vector<int> result;

    // 初始化柜子,每个柜子开始时没有格子  
    p.find.resize(n);

    int a, b;
    int ok;
    for (int i = 0; i < q; i++) {
        cin >> ok;
        if (ok == 1) { // 存入  
            cin >> a >> b;

            // 如果格子数量不够,需要扩展  
            if (p.find[a].gezi.size() <= b) {
                p.find[a].gezi.resize(b + 1); // 扩展到至少b+1个格子  
            }
            cin >> p.find[a].gezi[b].data;//输入物品 
        }
        if (ok == 2) { // 询问  
            cin >> a >> b;
            if (a < n && b < p.find[a].gezi.size()) { // 确保索引在有效范围内  
                result.push_back(p.find[a].gezi[b].data); // 存起来  
            }
        }
    }

    // 输出 vector  
    for (int k : result) {
        cout << k << endl;
    }
  //不需要delete

    return 0;
}
2024/9/14 08:58
加载中...