QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#693379#9530. A Game On TreewangshengzheWA 0ms5684kbC++201.7kb2024-10-31 16:03:162024-10-31 16:03:16

Judging History

This is the latest submission verdict.

  • [2024-10-31 16:03:16]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 5684kb
  • [2024-10-31 16:03:16]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
using LL = long long;
const int N = 2e5 + 5;
const int mod = 998244353;
#define sc(x) scanf("%d",&x)
#define sl(x) scanf("%lld",&x)
#define rep(i,a, b) for(int i = a;i<=b;i++)
#define rep2(i,a, b) for(int i = a;i>=b;i--)
#define pb push_back
#define ll long long
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
vector<int>E[N];
int siz[N];
ll res = 0;
ll sum[N];
void dfs0(int u, int fa) {
    siz[u] = 1;
    rep(i, 0, E[u].size() - 1) {
        int v = E[u][i];
        if (v == fa)continue;
        dfs0(v, u);
        siz[u] += siz[v];
    }
    return;
}
ll nal; int n;
void dfs(int u, int fa) {
    rep(i, 0, E[u].size() - 1) {
        int v = E[u][i];
        if (v == fa)continue;
        dfs(v, u);
        res += 1ll * (n - siz[v]) * (n - siz[v]) % mod * siz[v] % mod * siz[v] % mod;
        res += 2ll * sum[u] * sum[v] % mod;
        sum[u] += sum[v];res%=mod;
    }
    res += 2 * (n - siz[u]) * (n - siz[u]) % mod * sum[u] % mod;
    res%=mod;
    sum[u] += 1ll*siz[u] * siz[u];
    return;
}



ll ksm(ll a, ll b) {
    ll res = 1;
    while (b) {
        if (b % 2 == 1)res = res * a % mod;
        a = a * a % mod;
        b /= 2;
    }
    return res;
}
int main()
{
    int T;
    cin >> T;
    while (T--) {
        sc(n);
        res=0;
        nal = ksm(1ll * n * (n - 1) / 2 % mod, mod - 2);
        nal = nal * nal % mod;
        rep(i, 1, n)sum[i] = siz[i] = 0;
        rep(i, 1, n - 1) {
            int u, v;
            sc(u); sc(v);
            E[u].pb(v); E[v].pb(u);
        }
        dfs0(1, -1);
        dfs(1, -1);
        cout << res * nal % mod << endl;
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 5684kb

input:

2
3
1 2
2 3
5
1 2
1 5
3 2
4 2

output:

443664158
379332915

result:

wrong answer 2nd lines differ - expected: '918384806', found: '379332915'