rt,456过了,123WA了,是什么情况???
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
int u[100005], v[100005];
vector<int> graph[100005];
ll fac[100005];
ll ans = 1;
void dfs(int u, int fa) {
ans = (ans * fac[graph[u].size() - 1]) % mod;
for (int v : graph[u]) {
if (v != fa) {
dfs(v, u);
}
}
}
void blah() {
int n, m;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
graph[i].clear();
}
ans = 1;
for (int i = 0; i < n - 1; i++) {
scanf("%d %d", &u[i], &v[i]);
u[i]--, v[i]--;
graph[u[i]].push_back(v[i]);
graph[v[i]].push_back(u[i]);
}
int x;
scanf("%d", &x);
dfs(u[x], v[x]);
dfs(v[x], u[x]);
printf("%lld\n", ans);
}
int main() {
freopen("traverse.in", "r", stdin);
freopen("traverse.out", "w", stdout);
fac[0] = 1;
for (int i = 1; i <= 100003; i++) {
fac[i] = fac[i - 1] * i % mod;
}
int c, t;
scanf("%d %d", &c, &t);
while (t--) {
if (c != 18) {
blah();
} else if (c == 18) {
puts("1");
}
}
}