#C10L06P07. C10.L06.图的表示与遍历.邻接表练习.无向图的度

C10.L06.图的表示与遍历.邻接表练习.无向图的度

题目描述

给出 NN 个点,MM 条边的无向图,不存在重边,给一个节点 xx ,求出该节点的度。

输入格式

第 1 行,2 个整数 NNMM1N,M1061 \le N,M \le 10……6)。

接下来 MM 行,每行 22 个整数UiU_iViV_i,表示边 ( UiU_iViV_i)。

接下来一行一个整数x

输出格式

一个整数。

样例

4 3
1 2
2 4
4 3
3
1

完成程序

#include<iostream>
using namespace std;

int N, M;
struct Node{
	int v,next;
	Node(){ //构造函数 1
		next = 0;
	}
	Node(int a, int b){ //节点赋值的常见方法
		v = a;next = b;
	}
};
Node adj[2000002];
int idx = 1;
int head[1000002];
void insert(int u, int v){
	adj[idx] = Node(__填空(1)__); //插入一条边
	head[u] = idx;
	idx++;
}
main(){
	cin >> N >> M;
	for (int i = 0;i < M; i++){
		int u, v;
		cin >> u >> v;
		__填空(2)__;//建立 u 到 v 的一条边
		__填空(3)__;//建立 v 到 u 的一条边
	}

	int x, ans = 0;
	cin >> x;
	for(int i = head[x]; i != 0; i = __填空(4)__)
		ans++;
	cout << ans ;
	return 0;
}

填空(1): {{ input(1) }}

填空(2): {{ input(2) }}

填空(3): {{ input(3) }}

填空(4): {{ input(4) }}