题目描述
农民约翰农场的布局非常奇特,有一条大的环形道路环绕着他的奶牛白天吃草田地的周边。每天早上,奶牛都会穿过这条路,每天晚上,当它们离开田地回到谷仓时,它们都会再次穿过。
正如我们所知,牛是习惯性的动物,它们每天都以同样的方式穿过马路。每头奶牛在不同的点穿过田野,而所有这些交叉点都彼此不同。农场主约翰拥有26头奶牛,他懒散地将其命名为A到Z(他不确定如果他获得第27头奶牛他会怎么做…),因此道路周围有52个交叉点。农场主约翰通过顺时针扫描圆圈,简洁地记录这些交叉点,并为每个交叉点写下奶牛的名字,最终形成一个由52个字符组成的字符串,其中字母表中的每个字母正好出现两次。他没有记录哪些过境点是入口点,哪些是出口点。
看着他的交叉点地图,农场主约翰很好奇,一天中不同的几对奶牛可能会穿过多少次道路。他将一对奶牛(a,b)称为“交叉”对,如果奶牛a从入口到出口的路径必须穿过奶牛b从入口到出口的路径。请帮助农夫约翰计算交叉对的总数。
输入格式(文件circlecross.in):
输入由包含52个大写字符的字符串的单行组成。字母表中的每个字母正好出现两次。
输出格式(文件circlecross.out):
请打印交叉对的总数。
示例输入:
ABCCABDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ
示例输出:
1
在本例中,只有奶牛A和B是交叉对。