#ATarc177f. [ARC177F] Two Airlines
[ARC177F] Two Airlines
题目描述
在 AtCoder 国,有一排共 个岛屿,从西至东依次编号为 到 。这些岛通过航空线路连接,每条连接线双向可通。对于每个 ,岛屿 和岛屿 由一条线路连接。每一条航空路线都由 A 公司或 J 公司运营,具体来说,连接岛屿 和岛屿 的线路属于 公司。

这个国家有 位居民,他们被编号为 到 。每位居民目前分别位于岛屿 上。
每位居民都持有一张某个公司的优惠券。具体来说,居民 拿着的是 公司的优惠券。他们可以免费搭乘优惠券对应公司的航班任意次,而搭乘其他公司航班时,每次需要支付 枚硬币。
我们的目标是把位于岛屿 的宝藏运送到首都岛屿 。为了实现这一目标,请计算最少需要支付多少枚硬币。
请注意,宝藏可以在居民之间转交,但优惠券不允许转让。
输入格式
输入通过以下格式标准输入:
注意第 行是一个长度为 的字符串。
输出格式
输出为一个整数表示所需的最少硬币数量。
样例 1
输入
4 3
AAJJ
3 A
1 J
1 J
输出
2
样例 2
输入
8 3
JJAAJJAJ
2 A
6 A
8 J
输出
6
样例 3
输入
8 6
JJAAJJAJ
2 A
6 A
8 J
8 J
8 J
8 J
输出
4
说明/提示
条件限制
- 是
A或J - 是
A或J - 是整数
示例解释
下面的操作可使宝藏被运送到岛屿 ,总共只需花费 枚硬币:
- 居民 从岛 移到岛 。因为不是优惠券适用的公司航班,所以花费 枚硬币。
- 居民 从岛 到岛 ,在这个过程中无需支付,因为这是他拥有优惠券的公司路线。
- 居民 从岛 到岛 ,免费,因为使用的是优惠券航班。
- 居民 拿起宝藏。
- 居民 带着宝藏,从岛 移动到岛 ,依旧免费。
- 居民 把宝藏交给居民 。
- 居民 带着宝藏,从岛 到岛 ,这条航线不适用他的优惠券,花费 枚硬币。
- 居民 继续从岛 到岛 ,免费,因为使用了他公司的航班。
- 最后,居民 从岛 到岛 ,依旧免费。

本翻译由 AI 自动生成
相关
在以下作业中: