关注
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();
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 双非非科班2年时间的转码历程3.7W
- 2... 简历挂麻了?因为你的简历只有“宽度”没有“深度”!1.1W
- 3... 入职第一天:允许自己像个新生9904
- 4... 26秋招小结 含面经碎碎念版5187
- 5... 师门闯关记①:好学姐我听你的,就选你说的那个导师了4085
- 6... 百度java一面 28届的第一次大厂面试 感觉g了3808
- 7... 实习不忙被公司要求下周再来3672
- 8... 嵌入式学习路线分享3455
- 9... “CRUD”正在消亡吗,2026该何去何从2998
- 10... 为什么华为给到16级我还是拒了?(开发)2868
正在热议
更多
# 26年哪些行业会变好/更差 #
13743次浏览 180人参与
# 卷__卷不过你们,只能卷__了 #
6971次浏览 160人参与
# MiniMax求职进展汇总 #
251次浏览 4人参与
# 去年的flag与今年的小目标 #
6674次浏览 155人参与
# 哪些公司在招寒假实习? #
7182次浏览 85人参与
# 有深度的简历长什么样? #
12592次浏览 263人参与
# 机械人的秋招小目标 #
25816次浏览 226人参与
# 现在前端的就业环境真的很差吗 #
488178次浏览 5884人参与
# 写论文的崩溃时刻 #
3524次浏览 100人参与
# 入职第一天 #
7692次浏览 149人参与
# 你不能接受的企业文化有哪些 #
7378次浏览 123人参与
# 央国企投递记录 #
170098次浏览 1633人参与
# 腾讯音乐求职进展汇总 #
147021次浏览 1042人参与
# 你都用AI做什么 #
4822次浏览 112人参与
# 实习教会我的事 #
48572次浏览 359人参与
# 一人分享一道面试手撕题 #
16636次浏览 672人参与
# 秋招白月光 #
645851次浏览 5011人参与
# 一人一道大厂面试题 #
112062次浏览 1253人参与
# 应届生应该先就业还是先择业 #
163390次浏览 828人参与
# 实习,不懂就问 #
148675次浏览 1337人参与
# 新凯来求职进展汇总 #
67130次浏览 174人参与

