题意此处不再叙述
直接模拟
#include <cstdio>
#include <cstring>
#include <vector>
#define MAX 100010
using namespace std;
int n,m;
int v[MAX];
vector<int> g[MAX];
int main()
{
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
memset(g,0,sizeof(g));
memset(v,0,sizeof(v));
int x,y;
for(int i=1;i<=m;++i){
scanf("%d%d",&x,&y);
g[x].push_back(y);
g[y].push_back(x);
}
int q;
scanf("%d",&q);
int cmd;
int uu,vv;
while(q--){
scanf("%d",&cmd);
switch(cmd){
case 0:
scanf("%d%d",&uu,&vv);
v[uu]+=vv;
break;
case 1:
scanf("%d",&uu);
int sum=0;
int len=g[uu].size();
for(int i=0;i<len;++i)
sum+=v[g[uu][i]];
printf("%d\n",sum);
break;
}
}
}
return 0;
}