#csp2024M2B. 三角形计数(TC)

三角形计数(TC)

题目描述

大数据时代,对关联(图)数据的处理被广泛应用于社交网络、智能交通、移动网络等领域。对图数据的三角形计数被广泛应用于图数据的特征描绘(如聚集系数、联通度等)、社区结构检索、子图匹配、生物网络等应用。

现在小图灵要求你在指定数据集上实现三角形计数(Triangle Counting,TC)算法。三角形的定义是一个包含三个顶点的子图,其中顶点两两相连。例如,以下的无向图中包含2 个三角形。

算法应着重讨论简单无向图的情形,即将重边(multi-edge)看成⼀条边,同时应不考虑loop(顶点指向自己的边)。如在上图中,若存在顶点 b 到c 的两条边,则应忽略其中⼀条,这样,结果仍然是找到2 个三角形。

输入描述

输入m+1 行,第一行为两个数字n,m,表示数据集中点的数量和边的数量。

接下来m 行,每行输入两个数uiu_i,viv_i,表示在uiu_i,viv_i之间存在一条无向边。

输出描述

输出一行一个整数,表示图中三角形的个数。

5 6
1 3
5 4
3 2
2 4
2 5
1 2
2