Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
36100 | A21μΘ_wjy | 【S】T3 | C++ | 解答错误 | 60 | 156 MS | 23692 KB | 894 | 2025-02-07 15:47:00 |
#include<bits/stdc++.h> #define int long long #define PII pair<int,int> using namespace std; const int mod=998244353; const int Inv2=(mod+1)>>1; const int maxn=1e5+7; int n; int EU[maxn],EV[maxn]; int GU[maxn],GV[maxn]; int DE[maxn],DG[maxn]; map<PII,bool> E; signed main(){ // freopen("tree.in","r",stdin); // freopen("tree.out","w",stdout); cin>>n; for(int i=1;i<n;i++)cin>>EU[i]>>EV[i],DE[EU[i]]++,DE[EV[i]]++; for(int i=1;i<n;i++)cin>>GU[i]>>GV[i],DG[GU[i]]++,DG[GV[i]]++; for(int i=1;i<n;i++){ E[PII(EU[i],EV[i])]=E[PII(EV[i],EU[i])]=1; } int Ans=(n-1)*Inv2%mod; const int Inv16=Inv2*Inv2%mod*Inv2%mod*Inv2%mod; int ED2=0; for(int i=1;i<n;i++){ ED2+=n-1-DG[EU[i]]-DG[EV[i]]; } for(int i=1;i<n;i++)ED2+=E[PII(GU[i],GV[i])]; (Ans+=ED2*Inv16%mod)%=mod; cout<<Ans<<endl; return 0; }