news 2026/5/10 17:48:07

打卡信奥刷题(2629)用C++实现信奥题 P2634 [国家集训队] 聪聪可可

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2629)用C++实现信奥题 P2634 [国家集训队] 聪聪可可

P2634 [国家集训队] 聪聪可可

题目描述

聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。

他们的爸爸快被他们的争吵烦死了,所以他发明了一个新游戏:由爸爸在纸上画nnn个“点”,并用n−1n-1n1条“边”把这nnn个“点”恰好连通(其实这就是一棵树)。并且每条“边”上都有一个数。接下来由聪聪和可可分别随机选一个点(当然他们选点时是看不到这棵树的),如果两个点之间所有边上数的和加起来恰好是333的倍数,则判聪聪赢,否则可可赢。

聪聪非常爱思考问题,在每次游戏后都会仔细研究这棵树,希望知道对于这张图自己的获胜概率是多少。现请你帮忙求出这个值以验证聪聪的答案是否正确。

输入格式

输入的第111行包含111个正整数nnn。后面n−1n-1n1行,每行333个整数x,y,wx,y,wx,y,w,表示xxx号点和yyy号点之间有一条边,上面的数是www

输出格式

以即约分数形式输出这个概率(即a/b的形式,其中aaabbb必须互质。如果概率为111,输出1/1)。

输入输出样例 #1

输入 #1

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

输出 #1

13/25

说明/提示

【样例说明】

131313组点对分别是(1,1)(1,1)(1,1)(2,2)(2,2)(2,2)(2,3)(2,3)(2,3)(2,5)(2,5)(2,5)(3,2)(3,2)(3,2)(3,3)(3,3)(3,3)(3,4)(3,4)(3,4)(3,5)(3,5)(3,5)(4,3)(4,3)(4,3)(4,4)(4,4)(4,4)(5,2)(5,2)(5,2)(5,3)(5,3)(5,3)(5,5)(5,5)(5,5)

【数据规模】

对于100%100\%100%的数据,n≤2×104n\leq 2 \times 10^4n2×104

C++实现

#include<bits/stdc++.h>usingnamespacestd;inlineintread(){ints=0,f=1;charch=getchar();while(!isdigit(ch))f=(ch=='-'?-1:1),ch=getchar();while(isdigit(ch))s=(s<<1)+(s<<3)+(ch&15),ch=getchar();returns*f;}intn,f[20005][3],u,v,w,ans,m;vector<int>nxt[20005],val[20005];inlinevoiddfs(intnow,intfa){f[now][0]=1;vector<int>::iterator iv=val[now].begin();for(vector<int>::iterator it=nxt[now].begin();it!=nxt[now].end();++it){if((*it)==fa){++iv;continue;}dfs((*it),now);for(inti=0;i<3;++i)ans+=f[(*it)][i]*f[now][(3-(((i+(*iv))%3+3)%3))%3]*2;for(inti=0;i<3;++i)f[now][((i+(*iv))%3+3)%3]+=f[(*it)][i];++iv;}}inlineintgcd(inta,intb){returnb==0?a:gcd(b,a%b);}intmain(){n=read();for(inti=1;i<n;++i){u=read();v=read();w=read();nxt[u].push_back(v);val[u].push_back(w);nxt[v].push_back(u);val[v].push_back(w);}ans=n;dfs(1,-1);m=n*n;printf("%d/%d",ans/gcd(ans,m),m/gcd(ans,m));return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 2:07:08

Sonic模型训练数据来源公开吗?是否存在偏见风险

Sonic模型训练数据透明度与偏见风险探析 在虚拟人技术加速落地的今天&#xff0c;一个简单的问题正在引发越来越多关注&#xff1a;我们看到的“完美”数字人&#xff0c;背后是否藏着看不见的偏见&#xff1f;当一张照片加一段音频就能生成栩栩如生的说话视频时&#xff0c;人…

作者头像 李华
网站建设 2026/5/6 8:25:13

Windows 11 删除字体

不能删的字体1. 系统界面核心字体 (删除后系统立刻崩溃/乱码)Segoe UI 系列&#xff08;这是 Win10/11 的灵魂字体&#xff0c;整个系统界面都靠它&#xff09;Segoe MDL2 Assets / Segoe Fluent Icons&#xff08;由于 Win11 的很多图标其实是字体&#xff0c;删了这个&#x…

作者头像 李华
网站建设 2026/5/6 15:42:31

粉丝二创受限吗?非商用可宽容对待

粉丝二创受限吗&#xff1f;非商用可宽容对待 在虚拟偶像直播带货频频出圈、AI主播24小时不间断播报新闻的今天&#xff0c;一个更现实的问题悄然浮现&#xff1a;普通用户能不能用自己的方式&#xff0c;为喜欢的角色“配音”&#xff1f;比如&#xff0c;让某个经典动漫人物念…

作者头像 李华
网站建设 2026/5/9 13:08:11

Sonic能否集成到Zoom/Teams?远程会议新玩法

Sonic能否集成到Zoom/Teams&#xff1f;远程会议新玩法 在远程办公成为常态的今天&#xff0c;几乎每个人都经历过那种“镜头前疲惫不堪”的感觉&#xff1a;连续几小时盯着屏幕开会&#xff0c;强打精神保持微笑&#xff0c;生怕走神被点名。更别提跨时区协作时凌晨三点上线、…

作者头像 李华
网站建设 2026/5/10 17:18:51

算法——前缀和

前缀和与差分的核心思想是预处理&#xff0c;可以在暴力枚举的过程中&#xff0c;快速给出查询的结果&#xff0c;从而优化时间复杂度。是经典的用空间替换时间的做法。 一、一维前缀和 快速求出数组中&#xff0c;某一段区间的和 1.先预处理出一个前缀和数组 ①f [ i ] 表…

作者头像 李华
网站建设 2026/5/9 19:57:37

亲测好用8个AI论文平台,本科生轻松搞定毕业论文!

亲测好用8个AI论文平台&#xff0c;本科生轻松搞定毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 随着人工智能技术的不断进步&#xff0c;越来越多的本科生开始借助 AI 工具来辅助自己的毕业论文写作。这些工具不仅能够帮助学生高效完成论文的初稿、大纲搭建&#…

作者头像 李华