奶牛交叉(C++)

该博客讨论了一道关于奶牛穿越马路问题的编程题,要求计算不同奶牛交叉路径的对数。给定一个字符串表示奶牛的路径,通过两重循环搜索满足条件的交叉对并输出总数。程序使用C++编写,通过记录每个字母首次和再次出现的位置来确定交叉对。
摘要由CSDN通过智能技术生成
题目描述
    男神Sharpland农场的布局相当奇特,他的牛白天吃草的田野周围,绕着一条大型圆形道路。
    每天早晨,牛在前往田野时要穿过这条路,每天晚上,他们离开田野回到谷仓时,都会再过一遍这条路。
    正如我们所知,牛是一种习惯性动物,它们每天都以同样的方式过马路。每头牛都在不同的点进入田野,走出田野,并且所有的点都与其他的不同。Sharpland拥有26头牛,他把他们命名为A到Z,所以在这条路上有52个点。Sharpland通过绕着圆形道路顺时针方向扫描这些点来记录它们,写下每一个点所属的牛的名字,最终形成一个有52个字符的字符串,字母表中的每一个字母都出现了两次。
    他没有记录哪些点是进入田野的点,哪些是走出田野的点。
    看着他的地图,Sharpland很好奇,在一天中会有多少对不同的奶牛穿过马路。如果牛A从入口到出口的路径必须穿过牛B从入口到出口的路径,他把这对奶牛(A,B)称为交叉对。请帮助Sharpland计算出交叉对的数量。
输入格式
    输入由一行包含52个大写字母的字符串组成。其中每个大写字母都出现了两次。
输出格式
    请输出交叉对的总数。
样例数据
input
ABCCABDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ
output
1
思路
    读入,判断,没出现过的记坐标a,出现过的几坐标b,然后就两重循环搜,满足条件的累加嘛。
程序如下
#include<bits/stdc++.h>
using n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值