第三题上个自认为最优的代码吧 #include<bits/stdc++.h> using namespace std; int main() { int n, cnt = 0; string s; cin >> n >> s; s = " " + s; vector<vector<int>> g(n + 1); vector<pair<int, int>> samePairs; vector<int> differentNeightbors(n + 1, 0); for (int i = 0; i < n - 1; ++i) { int a, b; cin >> a >> b; g[a].push_back(b); g[b].push_back(a); if (s[a] == s[b]) samePairs.emplace_back(a, b); else { differentNeightbors[a]++; differentNeightbors[b]++; } } for (auto &;[a, b]: samePairs) { cnt += differentNeightbors[a] + differentNeightbors[b]; } cout << cnt; return 0; }
点赞 评论

相关推荐

11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
LZStarV:冲就好了,就算真的是字节也冲,面评脏了大不了等三四个月就淡了,而且等到那个时候实力进步了选择还多,何必拘泥于字节
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务