题解 | #月之暗面#

特别的玛格丽特

https://ac.nowcoder.com/acm/contest/11187/A

D题dfs即可

#define ll long long
#define mod  998244353
#define int ll
using namespace std;

bool st[1000010];
vector<int >q[1000010];
int n,x,y;

int d[1000010][2];
int dfs(int k,int h) //0 wu 1teshu
{   
    if(d[k][h]) return d[k][h];
    st[k]=1;
    int ans=0;
    int f=0;
    int num1=1,num2=1;
    for(int i:q[k])
    {
        if(!st[i])
        {
            f=1;
            num1*=dfs(i,0);
            num1%=mod;
            num2*=dfs(i,1);
            num2%=mod;
        }
    }
    num2*=(y-h);
    num1*=x;
    num2%=mod;
    num1%=mod;
    st[k]=0;
    if(f==0)
        ans=x+y-h;
    else ans=(num1+num2)%mod;
    d[k][h]=ans;
    return ans%mod;


}
signed main()
{
    cin>>n>>x>>y;
    for(int i=1; i<n; i++)
    {
        int a,b;
        cin>>a>>b;
        q[a].push_back(b);
        q[b].push_back(a);

    }
    cout<<dfs(1,0)%mod<<endl;

}

全部评论
这个和月之暗面有啥关系
点赞 回复 分享
发布于 2024-12-19 22:54 浙江

相关推荐

04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
frutiger:逆天,我家就安阳的,这hr咋能说3k的,你送外卖不比这工资高得多?还说大厂来的6k,打发叫花子的呢?这hr是怎么做到说昧良心的话的
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务