Adjacent Node Sum (图的邻接表表示 C语言)

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;
}


全部评论

相关推荐

05-12 10:10
已编辑
门头沟学院 人工智能
写这篇之前我犹豫了挺久。一方面是怕被人骂,&quot;又一个收割焦虑的转行帖&quot;;另一方面是看了太多用&nbsp;GPT&nbsp;套娃出来的「学习路线」文章,AI&nbsp;味重得让人没法读完。所以这篇全是亲身踩过的坑,时间线、用过的项目、当时的心路全都尽量原样写出来。如果你是大学生在迷茫要不要转&nbsp;AI,或者已经在转的路上,希望能给点参考。&nbsp;一个反共识的开场:你以为进&nbsp;OpenAI&nbsp;的人都是博士?&nbsp;先讲个故事,跟我没关系,但跟所有想转&nbsp;AI&nbsp;的人都有关系。&nbsp;OpenAI&nbsp;的&nbsp;Sora&nbsp;团队(就是搞文生视频那个)一共&nbsp;13&nbsp;个人。这里面有两个人特别有意思:&nbsp;Will&nbsp;DePue,密歇根大学计算机系,直接辍学了。17...
_hengheng:我也本,也算是做ai相关,我最开始感觉做ai工程师有多么多么困难,后来发现懂了原理后整体训练完全可以看成一个流程化的内容,开源方案太多了,大多基本都是按着模子在自家业务上做各种操作,就算是大厂的小部门也没那么多资源去训基模,反而更多的是像怎么把技术往业务方向靠近了,不过当前时代如果本科学历没那么好加上自己执行力不是特别强还真不建议走ai工程师这条路,可以试试其他ai的偏业务方向,不然校招不太好杀出来
点赞 评论 收藏
分享
05-13 00:41
已编辑
北京邮电大学 Java
理性的杰克刷牛客:ai肯定要有的,最好学一下agent方向加一个智能客服什么的进去,并且多加点什么skill,mcp啥的,另外你现在的项目深度有些浅,这些功能都太简单了,而且也不是真正能扛高并发的实现,没有什么太大的亮点,可以去网上找点更有深度的项目。可以先投一些中小厂,有实习经历以后再去大厂,你现在这个大厂可能机会不大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务