20分求助

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

threading @ 2023-03-20 21:55:05

#include <bits/stdc++.h>
using namespace std;
int n,q;
const int N=1e5+10;
int h[N],e[N],ne[N],idx;
long long w[N];
void add(int a,int b,int c){
    e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++;
} 
int main()
{
    memset(h,-1,sizeof h);
    cin>>n>>q;
    while(q--){
        int op,i,j;
        long long k;
        scanf("%d",&op);
        if(op==1){
            scanf("%d %d %lld",&i,&j,&k);
            add(i,j,k);
        }else{
            scanf("%d %d",&i,&j);
            for(int k=h[i];k!=-1;k=ne[k]){
                if(e[k]==j){
                    printf("%d\n",w[k]);
                }
            }
        }
    }
    return 0;
}

|