编译求条

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

lzj20110120 @ 2024-06-29 14:21:38

#include <bits/stdc++.h>
using namespace std;
long long n,q;
vector<long long> g[10005][10005];
int main()
{
    cin>>n>>q;
    for(int j=1;j<=q;j++)
    {
        long long m,x,y,k; 
        cin>>m;
        if(m==1)
        {
            cin>>x>>y>>k;
            g[x][y]=k;  
        }
        if(m==2)
        {
            cin>>x>>y;
            cout<<g[x][y]<<endl;    
        }   
    }
}

by Cute_QiQi @ 2024-06-29 14:27:51

@lzj20110120 vector不行,而且你这样定义也不对球关

#include<bits/stdc++.h>
using namespace std;
map<long long,int>qa;
const int qu=1000000;
int main(){
    int n,q,p,k; long long i,j;
    cin>>n>>q;
    while(q--){
        cin>>p>>i>>j;
        if(p==1){
            cin>>k;
            qa[i*qu+j]=k;
        }
        else cout<<qa[i*qu+j]<<'\n';
    }
}

by lzj20110120 @ 2024-06-29 14:30:36

@SixSeven 教练还没交我们map,而且她说用vector可以过这题。


by Cute_QiQi @ 2024-06-29 14:38:01

@lzj20110120 当然是可以vector,但map是最优

vector这样写 vector<vector<int> > v v是名字


by SunsetLake @ 2024-06-29 14:39:10

@lzj20110120 非要用 vector 要把询问离线再加一个二分


|