C语言怎么实现这里三角形的计算,怎么取模得到32?

Problem Description
Soda has a complete undirected graph with n vertices. He wants to color the edges with m different colors conveniently labeled from 1 to m. He first selects p edges and colors them. Then he will randomly color the rest edges. He wants to know the total number of different good triangles among all possible graphs.

Let i,j,k (i<j<k) be three vertices in the graph. If there's an edge between i and j, an edge between j and k, an edge between k and i. Then we call the tuple (i,j,k) (i<j<k) is a triangle in the graph. Let the colors for edge (i,j), (j,k), (k,j) be x, y and z. If x≠y and x≠z and y≠z, then we call the triangle good.

Two triangles are considered different if at least one of the six numbers (i,j,k,x,y,z) is different.

Input
There are multiple test cases. The first line of input contains an integer T (1≤T≤100), indicating the number of test cases. For each test case:

The first line contains three integers n, m and p, (3≤n≤100000,1≤m,p≤200000).

Each of the next p lines contains three integer u,v,c (1≤u<v≤n,1≤c≤m) which means the edge (u,v) is colored with color c.

Each edge will be given at most once. Most cases are small.

Output
For each test case, output the total number of good triangles modulo 232.

Sample Input
1
4 6 6
1 2 1
1 3 2
1 4 3
2 3 4
2 4 5
3 4 6

Sample Output
4

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐