【简单枚举】HDU4858项目管理【BestCoder Round #1】

xiaoxiao2021-02-28  75

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4858

#include<iostream> #include<vector> #include<cstdio> #include<cstring> using namespace std; const int N=100020; vector<int>Map[N]; int v[N]; int getSum(int a) { int ans=0; for(int i=0;i<Map[a].size();i++) ans+=v[Map[a][i]]; return ans; } void Input() { int n,m,a,b,q,k; cin>>n>>m; for(int i=0;i<m;i++){ cin>>a>>b; Map[a].push_back(b); Map[b].push_back(a); } cin>>q; for(int i=0;i<q;i++){ cin>>k; if(k==0){ // 加能量 cin>>a>>b; v[a]+=b; }else if(k==1){ // 计算能量之和 cin>>a; cout<<getSum(a)<<endl; } } } void Init() { for(int i=0;i<N;i++) Map[i].clear(); memset(v,0,sizeof(v)); } int main() { int t; cin.sync_with_stdio(false); cin>>t; while(t--){ Init(); Input(); } return 0; }

转载请注明原文地址: https://www.6miu.com/read-45943.html

最新回复(0)