蓝桥杯:翻硬币

简介: 蓝桥杯:翻硬币

小明正在玩一个“翻硬币”的游戏。


桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。


比如,可能情形是:**oo***oooo


如果同时翻转左边的两个硬币,则变为:oooo***oooo


现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?


我们约定:把翻动相邻的两个硬币叫做一步操作。

输入格式

两行等长的字符串,分别表示初始状态和要达到的目标状态。

输出格式

一个整数,表示最小操作步数

数据范围

输入字符串的长度均不超过100。

数据保证答案一定有解。

输入样例1:

 **********
 o****o****


输出样例1:

5

输入样例2:

 *o**o***o***
 *o***o**o***

输出样例2:

1
#include<iostream>
#include<cstring>
using namespace std;
string s1, s2;
void turn(int i)
{
    if (s1[i] == '*') s1[i] = 'o';
    else s1[i] = '*';
}
int main()
{
    int num = 0;
    cin >> s1 >> s2;
    int len = s1.length();
    for (int i = 0; i < len; i++)
    {
        if (s1[i] != s2[i])
        {
            turn(i);
            turn(i + 1);
            num++;
        }
    }
    cout << num << endl;
    return 0;
}


目录
相关文章
|
3天前
面试题 08.11:硬币
面试题 08.11:硬币
31 0
|
7月前
|
算法
代码随想录Day27 贪心算法02 LeetCode T122 买卖股票的最佳时机II LeetCode T55 跳跃游戏 LeetCode T45 跳跃游戏II
代码随想录Day27 贪心算法02 LeetCode T122 买卖股票的最佳时机II LeetCode T55 跳跃游戏 LeetCode T45 跳跃游戏II
23 0
|
3天前
|
算法
六六力扣刷题贪心算法之柠檬水找零
六六力扣刷题贪心算法之柠檬水找零
41 0
蓝桥 倍数问题 (我为什么会这么菜)
蓝桥 倍数问题 (我为什么会这么菜)
|
11月前
|
算法 Java Python
深入理解动态规划算法 | 凑硬币
深入理解动态规划算法 | 凑硬币
84 0
|
11月前
蓝桥杯:二分法求分巧克力
蓝桥杯:二分法求分巧克力
48 0
|
11月前
|
算法 Java
动态规划算法-凑硬币
动态规划算法-凑硬币
87 0
|
存储 人工智能 BI
P8597 [蓝桥杯 2013 省 B] 翻硬币个人思考总结+第五届传智杯ABC 初赛题解
桌上放着排成一排的若干硬币。我们用 `*` 表示正面,用 `o` 表示反面(是小写字母,不是零),比如可能情形是 `**oo***oooo`,如果同时翻转左边的两个硬币,则变为 `oooo***oooo`。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?
147 0
(数论)蓝桥杯AcWing 1205. 买不到的数目
(数论)蓝桥杯AcWing 1205. 买不到的数目
35 0
代码随想录刷题|LeetCode 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
代码随想录刷题|LeetCode 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
代码随想录刷题|LeetCode 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II