Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48442 | wzj33300 | 【AB-1】图 | C++ | 通过 | 100 | 89 MS | 1764 KB | 867 | 2022-04-12 23:31:11 |
#include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10, mod = 1e9 + 7; #define int long long int n, m, ttt; int ind[N]; #define mod(x, m) ((x) % (m) + (m)) % (m) void exgcd(int a, int b, int& x, int& y) { if (!b) x = 1, y = 0; else exgcd(b, a % b, y, x), y -= a / b * x; } int qny(int a, int p = mod) { int x, y; exgcd(a, p, x, y); x = mod(x, p); return x; } signed main() { scanf("%lld%lld%lld", &n, &m, &ttt); for (int x, y, i = 1; i <= m; i++) { scanf("%lld%lld", &x, &y); ind[y]++; } int ans = 1; for (int i = 1; i <= n; i++) { if (ind[i]) ans = mod(ans * ind[i], mod); } printf("%lld\n", ans); for (int x, y, i = 1; i <= ttt; i++) { scanf("%lld%lld", &x, &y); ans = mod(ans * qny(ind[y]), mod); ind[y]++; ans = mod(ans * ind[y], mod); printf("%lld\n", ans); } return 0; }