Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
49411 | _ | 【AB-1】图 | C++ | 通过 | 100 | 88 MS | 1008 KB | 828 | 2022-05-06 22:33:39 |
#include <bits/stdc++.h> using namespace std; const int DVS = 1e9 + 7; const int MXN = 200005; int cnt[MXN], N, M, T, ans = 1; typedef long long ll; void exgcd(int a, int b, ll& x, ll& y) { if (!b) x = 1, y = 0; else exgcd(b, a % b, y, x), y -= a / b * 1LL * x; } int inv(int x) { ll y(0), z(0); exgcd(x, DVS, y, z); return (y % DVS + DVS) % DVS; } int main() { scanf("%d%d%d", &N, &M, &T); for (int y(0); M--;) { scanf("%d", &y); scanf("%d", &y); --y; ++cnt[y]; } for (int i(1); i != N; ++i) ans = ans * 1LL * cnt[i] % DVS; printf("%d\n", ans); for (int y(0); T--;) { scanf("%d", &y); scanf("%d", &y); --y; ans = ans * 1LL * inv(cnt[y]) % DVS * 1LL * (cnt[y] + 1) % DVS; ++cnt[y]; printf("%d\n", ans); } return 0; }