朝题夕解之以递推为背景的开关问题(二)

简介: 朝题夕解之以递推为背景的开关问题(二)

题目描述

微信图片_20221018152520.jpg解题报告


观察样例


题目中要求:每次只能同时翻转相邻的两个硬币。那么,我们可以把每个硬币当做一个灯泡,两个相连的硬币就变成了一个开关。回到了我们熟悉的开关模型,而且是一维的,解决的方式就可以直接递推枚举,然后比较当前位置和最终状态是否相同,不同的话就"摁"一下"开关"。

微信图片_20221018152638.jpg

对于题目所给的样例,实际是按照如下的方式进行的。微信图片_20221018152709.gif

参考代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110;
int n;
char start[N],ans[N];//分别表示初始给的字符串和答案最终要的字符串
void turn (int x)
{
    if(start[x] == '*') start[x] = 'o';
    else start[x] = '*';
}
int main()
{
    cin >> start >> ans;
    n  = strlen(start);
    int res = 0;
    for(int i = 0; i < n-1;i++)
        if(start[i] != ans[i])
        {
            turn(i),turn(i+1);
            res ++;
        }
    cout << res << endl;
    return 0;
}
相关文章
|
8月前
【每日一题Day146】给定行和列的和求可行矩阵 | 贪心
【每日一题Day146】给定行和列的和求可行矩阵 | 贪心
59 0
|
5月前
|
前端开发
背景滑动,动感加倍:CSS动画对角线效果全解析!
背景滑动,动感加倍:CSS动画对角线效果全解析!
|
7月前
|
Java
三阶魔方公式详解及快速解法方法介绍
三阶魔方公式详解及快速解法方法介绍
|
7月前
|
算法 C++ 容器
心得经验总结:排列组合问题之圆形分布
心得经验总结:排列组合问题之圆形分布
51 0
|
8月前
|
测试技术
【深度优先搜索】【组合数学】【动态规划】1467.两个盒子中球的颜色数相同的概率
【深度优先搜索】【组合数学】【动态规划】1467.两个盒子中球的颜色数相同的概率
【最优方案】合唱队形
【最优方案】合唱队形
206 0
|
存储 算法 C语言
深度理解递归,手撕经典递归问题(汉诺塔,青蛙跳台阶),保姆级教学。
深度理解递归,手撕经典递归问题(汉诺塔,青蛙跳台阶),保姆级教学。
|
算法
斜方向三消查找算法的原理和实现
昨天的文章中我们讲了三消查找算法的原理和实现,在宝石方块中,除了水平和竖直的三消之外,斜方向上也可以三消,今天这篇就讲一下斜方向上三消的原理和实现
135 0
斜方向三消查找算法的原理和实现
动态规划爬楼梯(为什么到i级的方法=i-1级的方法+到i-2级的方法)
想一想你现在就站在第i-1级台阶上,到达这第i-1级的台阶有100种方法,每一种方法都走到这里(第i-1级台阶),这100种方法中每一种方法都差一步就到第i级台阶了。
66 0
动态规划爬楼梯(为什么到i级的方法=i-1级的方法+到i-2级的方法)
LeetCode每日一题(10)——三维形体投影面积(保姆级)
三维形体投影面积 1.题目 2.示例 3.思路 理解题目 解题思路 4.代码
134 0
LeetCode每日一题(10)——三维形体投影面积(保姆级)