关注
import java.io.*;
import java.util.*;
class Edge{
int o, t, a, b;
public Edge(int o, int t, int a, int b){
this.o = o;
this.t = t;
this.a = a;
this.b = b;
}
}
public class Main{
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
static final int N = 1010, mod = (int) 1e9 + 7;
static int[] p = new int[N];
static int n, m;
static int[][] c = new int[N][N];
static Edge[] edges;
public static void initC(){
for (int i = 0; i < N; i ++ )
for (int j = 0; j <= i; j ++ ){
if (j == 0) c[i][j] = 1;
else c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % mod;
}
}
public static int find(int u){
if (p[u] != u){
p[u] = find(p[u]);
}
return p[u];
}
public static void union(int i, int j){
p[find(i)] = find(j);
}
public static void main(String[] args) throws IOException{
String[] ss = br.readLine().split(" ");
n = Integer.parseInt(ss[0]);
m = Integer.parseInt(ss[1]);
edges = new Edge[m];
initC();
for (int i = 0; i <= n; i ++ ) p[i] = i;
for (int i = 0 ; i < m; i ++ ){
String[] strs = br.readLine().split(" ");
int o = Integer.parseInt(strs[0]), t = Integer.parseInt(strs[1]),
a = Integer.parseInt(strs[2]), b = Integer.parseInt(strs[3]);
edges[i] = new Edge(o, t, a, b);
}
Arrays.sort(edges, (x, y) -> {
return c[y.a][y.b] - c[x.a][x.b];
});
int cnt = 0, ans = 0;
for (int i = 0; i < m; i ++ ){
Edge e = edges[i];
if (find(e.o) == find(e.t)) continue;
union(e.o, e.t);
ans = (ans + c[e.a][e.b]) % mod;
cnt ++ ;
}
if (cnt != (n - 1)) bw.write(-1 + "");
else bw.write(ans + "");
bw.flush();
}
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8131次浏览 206人参与
# 担心入职之后被发现很菜怎么办 #
266130次浏览 1131人参与
# 被上班搭子“传染”了哪些习惯 #
5362次浏览 97人参与
# 投格力的你,拿到offer了吗? #
152295次浏览 814人参与
# 工作后,你落下了哪些病根 #
13054次浏览 183人参与
# 作业帮求职进展汇总 #
82719次浏览 544人参与
# 京东美团大战,你怎么看? #
157989次浏览 859人参与
# 实习简历求拷打 #
11221次浏览 145人参与
# 如果今天是你的last day,你会怎么度过? #
58897次浏览 324人参与
# 秋招被挂春招仍然能投的公司 #
6526次浏览 94人参与
# mt对你说过最有启发的一句话 #
34948次浏览 418人参与
# 为了找工作你花了哪些钱? #
74793次浏览 359人参与
# 机械人晒出你的简历 #
146422次浏览 874人参与
# 嵌入式岗知多少 #
62974次浏览 555人参与
# 摸鱼被leader发现了怎么办 #
100620次浏览 640人参与
# 考研失败就一定是坏事吗? #
200758次浏览 1369人参与
# 秋招特别不鸣谢 #
15434次浏览 175人参与
# 2023毕业生求职有问必答 #
218602次浏览 1662人参与
# 选实习,你更看重哪方面? #
13740次浏览 215人参与
# 牛客十周岁生日快乐 #
197814次浏览 1895人参与
