您当前的位置: 首页 > 

TechGuide

暂无认证

  • 1浏览

    0关注

    176博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【2022-08-10】ZOOM秋招笔试两道编程题

TechGuide 发布时间:2022-08-12 00:21:58 ,浏览量:1

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 点赞再看,养成习惯,您动动手指对原创作者意义非凡🤝

第一题:树结点染色计算总体权重 题目:

给你一棵树,树上每个节点要么是红色要么是黑色,根节点为1。每个节点的权重值为根节点到该节点路径上红色节点个数和蓝色节点个数的差的绝对值。求所有节点权重值之和。

输入

第一行输入n个节点 第二行为每个节点的颜色 接下来n-1行为a b节点之间有一条线

5 RBBRB 1 5 2 5 1 3 5 4

输出

3

思路:

建树,dfs模拟

代码 CPP版本
// Java题解可私信微信公众号TechGuide回复公司名获取
#include 
#include 
using namespace std;
typedef long long ll;
const int N = 1e5 + 5;
vector mp[N];
int cred[N], cblue[N], n;
string color;
ll ans;
void dfs(int u,int fa){
    cred[u] = cred[fa];
    cblue[u] = cblue[fa];
    if(color[u] == 'R'){
        cred[u]++;
    }else{
        cblue[u]++;
    }
    // cout> in;
            if(pname.find(in) == pname.end()){
                cout            
关注
打赏
1665329535
查看更多评论
0.0374s