项目管理


Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0
Problem Description
我们建造了一个大项目! 这个项目有n个节点,用非常多边连接起来,而且这个项目是连通的!
两个节点间可能有多条边,只是一条边的两端必定是不同的节点。
每一个节点都有一个能量值。 如今我们要编写一个项目管理软件。这个软件呢有两个操作:
1.给某个项目的能量值加上一个特定值。
2.询问跟一个项目相邻的项目的能量值之和。(假设有多条边就算多次。比方a和b有2条边,那么询问a的时候b的权值算2次)。
 
Input
第一行一个整数T(1 <= T <= 3),表示測试数据的个数。
然后对于每一个測试数据,第一行有两个整数n(1 <= n <= 100000)和m(1 <= m <= n + 10),分别表示点数和边数。 然后m行,每行两个数a和b,表示a和b之间有一条边。
然后一个整数Q。 然后Q行。每行第一个数cmd表示操作类型。假设cmd为0,那么接下来两个数u v表示给项目u的能量值加上v(0 <= v <= 100)。 假设cmd为1。那么接下来一个数u表示询问u相邻的项目的能量值之和。 全部点从1到n标号。
 
Output
对每一个询问,输出一行表示答案。
 
Sample Input
1
3 2
1 2
1 3
6
0 1 15
0 3 4
1 1
1 3
0 2 33
1 2
 
Sample Output
4
15
15

水题。直接模拟一遍过程即可了。

#include <stdio.h>
#include <vector>
#include <string.h>
#define maxn 100002
using namespace std; vector<int> vec[maxn];
vector<int>::iterator it;
int val[maxn]; int getVal(int k)
{
int sum = 0;
for(it = vec[k].begin(); it != vec[k].end(); ++it)
sum += val[*it];
return sum;
} int main()
{
int t, n, m, i, a, b, q, com;
scanf("%d", &t);
while(t--){
scanf("%d%d", &n, &m);
memset(vec, 0, sizeof(vec));
memset(val, 0, sizeof(val));
for(i = 1; i <= m; ++i){
scanf("%d%d", &a, &b);
vec[a].push_back(b);
vec[b].push_back(a);
}
scanf("%d", &q);
while(q--){
scanf("%d%d", &com, &a);
if(com == 1) printf("%d\n", getVal(a));
else{
scanf("%d", &b);
val[a] += b;
}
}
}
return 0;
}

最新文章

  1. Python成长笔记 - 基础篇 (十三)--堡垒机
  2. UVA 11582 Colossal Fibonacci Numbers! 大斐波那契数
  3. 用特征来实现混入(mix-in)式的多重继承
  4. C++—复合类型
  5. Observer - IO (File Monitor)
  6. Java处理InterruptedException异常小结
  7. 升级yosemite后java出错的解决
  8. Windows命令行(DOS命令)教程-5 (转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_4.html
  9. linux日志(常用命令)
  10. 用sql获取一段时间内的数据
  11. jquery +ajax 上传加预览
  12. Java开发知识之Java的枚举
  13. C语言编程遇到的问题
  14. JavaSE考试前练习
  15. oracle 闪回、归档的设置建议
  16. [转]SQL - Create XML - How to set Unicode UTF-8
  17. DevExpress v17.2新版亮点—.NET Reporting篇(二)
  18. SUST OJ 1674: 入侵与反击(最长不下降子序列)
  19. Java的反射和代理以及注解
  20. 【Dagger2】 案例大全

热门文章

  1. 前端--CSS之使用display:inline-block来布局(转)
  2. 汽车加油行驶(cogs 737)
  3. android 微信开发交流群
  4. [LeetCode] Linked List Cycle II 链表环起始位置
  5. Java学习之路(3)
  6. hdu 4528(搜索好题)
  7. 转:IAdaptable &amp; IAdapterFactory
  8. iOS中后台运行
  9. C# 的概念
  10. 网络库libevent、libev、libuv对比