编程介的小学生 2017-04-03 11:11 采纳率: 20.5%
浏览 784
已采纳

Cactus

Cactus is a connected undirected graph in which every edge lies on at most one simple cycle. Intuitively cactus is a generalization of a tree where some cycles are allowed. Your task first is to verify if the given graph is a cactus or not. Important difference between a cactus and a tree is that a cactus can have a number of spanning subgraphs that are also cactuses. The number of such subgraphs (including the graph itself) determines cactusness of a graph (this number is one for a cactus that is just a tree). The cactusness of a graph that is not a cactus is considered to be zero.

The first graph on the picture is a cactus with cactusness 35. The second graph is not a cactus because edge (2, 3) lies on two cycles. The third graph is not a cactus because it is not connected.

Input

The first line of each test case contains two integer numbers n and m (1 ≤ n ≤ 20000, 0 ≤ m ≤ 1000).

Here n is the number of vertices in the graph. Vertices are numbered from 1 to n. Edges of the graphare represented by a set of edge-distinct paths, where m is the number of such paths.

Each of the following m lines contains a path in the graph. A path starts with an integer number ki(2 ≤ ki ≤ 1000) followed by ki integers from 1 to n. These ki integers represent vertices of a path. Path can go to the same vertex multiple times, but every edge is traversed exactly once in the whole input file.

There are no multiedges in the graph (there is at most one edge between any two vertices).

The whole input consists of several test cases. Proceed to the end of file.

Output

For each test case, write to the output file a single integer number - the cactusness of the given graph. Note that cactusness can be quite a large number.

Sample Input

14 3
9 1 2 3 4 5 6 7 8 3
7 2 9 10 11 12 13 10
2 2 14
10 2
7 1 2 3 4 5 6 1
6 3 7 8 9 10 2
5 1
4 1 2 3 4
Sample Output

35
0
0

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-04-16 15:28
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!