Adjacent Node Sum (图的邻接表表示 C语言)
来源:互联网 发布:java图形界面时间控件 编辑:程序博客网 时间:2024/04/30 13:27
Adjacent Node Sum
题目内容:
給定一個節點有權重的圖,請你計算與一個節點相鄰的所有節點的權重和。
節點編號為1~N。
每個節點的編號即為他的權重。
输入格式:
只有一組測資。
第一行有三個數字,N、M、Q。
N表示這張圖有多少節點,
M表示這張圖有多少邊,
Q表示會有多少個詢問。
之後M行,每行有兩個數字a、b,
代表a與b是相鄰的。
之後Q行,每行有一個數字x,
代表詢問的點編號。
給定的編不會重複,
而且不會有自己和自己相連的情況。
測資範圍:
0 < N < 1000
0 < M < 20000
0 < Q < 2000
输出格式:
對於每一個詢問,計算與該節點相鄰的所以節點權重和。
將所有詢問的答案加總後再輸出。
输入样例:
10 8 2
1 2
1 3
2 5
2 6
3 8
10 9
8 6
3 5
1
3
输出样例:
19
时间限制:100ms内存限制:16000kb
coding using c
#include <stdio.h>#include <stdlib.h>struct _node{int value;struct _node* next;};typedef struct _node Node;void insert_node(Node* array[], int idx, int value){Node* p;p = (Node*)malloc(sizeof(Node));p->value = value;if(array[idx]==NULL){p->next = NULL;array[idx] = p;}else{p->next = array[idx];array[idx] = p;}}int count_sum(Node* head){int sum=0;while(head){sum+=head->value;head=head->next;}return sum;}/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int n = 10, edges = 8, query = 2, idx, value,sum;scanf("%d %d %d",&n,&edges,&query);Node * array[n+1];int i=0,j=0;for(i=0;i<n+1;i++){array[i]=NULL;}for(i=0;i<edges;i++){scanf("%d %d", &idx, &value);insert_node(array, idx, value);insert_node(array, value, idx);}sum=0;for(i=0;i<query;i++){scanf("%d",&idx);sum+=count_sum(array[idx]);}printf("%d",sum);return 0;}
0 0
- Adjacent Node Sum (图的邻接表表示 C语言)
- 图的邻接表表示法(C语言)
- Adjacent Node Sum(邻接表处理)
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示
- 图的邻接表表示代码C/C++
- 图的C程序实现代码(邻接表表示)
- 数据结构的C实现_图_邻接表表示
- 数据结构(C实现)------- 图的邻接表表示
- C程序实现图的邻接表表示
- 数据结构(C++)<图的邻接表表示>
- 邻接表表示图
- iOS 代码修改xib中的约束
- BZOJ_P3561 DZY Loves Math VI(数论+莫比乌斯反演)
- SlidingMenu的应用实例
- 文件的读写
- 2016年司考新手复习指南
- Adjacent Node Sum (图的邻接表表示 C语言)
- LeetCode : Merge Two Sorted Lists [java]
- 网络编程遇到的一些问题
- 分布式 session
- js程度
- 改bug总结—2016年2月于nice实习
- JS 监听事件
- 关于 Android 平台开发相关的有哪些推荐书籍?
- LeetCode 54 - Spiral Matrix