搞笑玩意糖到家了
查看原帖
搞笑玩意糖到家了
1017502
yyy_xiaohao楼主2024/12/1 20:40

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");
        }
    }
}
2024/12/1 20:40
加载中...