CF56C Corporation Mail

题目描述

Beroil 公司采用层级结构,可以用一棵树来表示。我们可以按照如下方式描述这种结构: - $ employee $ ::= $ name $ . | $ name $ : $ employee_{1} $, $ employee_{2} $, …, $ employee_{k} $ . - $ name $ ::= 员工的姓名 也就是说,每位员工的描述由其姓名、一个冒号(:)、所有下属的描述(用逗号分隔),以及最后的一个句点组成。如果某位员工没有下属,则冒号不存在。 例如,字符串 MIKE:MAX.,ARTEM:MIKE..,DMITRY:DMITRY.,DMITRY... 正确地记录了一个公司结构,其中总监 MIKE 有三位下属:MAX、ARTEM 和 DMITRY。ARTEM 有一位名字为 MIKE 的下属,和自己老板名字一样。DMITRY 有两位下属,名字都叫 DMITRY,也和他自己一样。 在 Beroil 公司里,每位员工只可以与其所有下属通信,下属不一定是直属的。我们将一名叫 $ s $ 的员工给另一名同样叫 $ s $ 的下属写信的情形称为“不舒服的情况”。在上面的例子中,有两组这样的对:一组与 MIKE 相关,两组与 DMITRY 相关(DMITRY 各有一个这样的下属)。 你的任务是,根据给定的公司结构,求出公司中不舒服的情况的对数。

输入格式

第一行输入公司结构的描述字符串,长度为 1 到 1000。保证描述格式正确。所有姓名均为由 1 到 10 个大写拉丁字母组成的字符串。

输出格式

输出一个整数,即公司中不舒服的情况的对数。

说明/提示

由 ChatGPT 5 翻译