[蓝桥杯 2013 省 B] 翻硬币

这篇具有很好参考价值的文章主要介绍了[蓝桥杯 2013 省 B] 翻硬币。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目背景

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

题目描述

桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果同时翻转左边的两个硬币,则变为 oooo***oooo。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?

输入格式

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

数据保证一定存在至少一种方案可以从初始状态和要达到的目标状态。

输出格式

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

输入输出样例

输入 #1复制

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

输出 #1复制

5

输入 #2复制

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

输出 #2复制

1

说明/提示

source:蓝桥杯 2013 省 B 组 H 题文章来源地址https://www.toymoban.com/news/detail-796592.html

AC代码

#include <bits/stdc++.h>
using namespace std;

int main()
{
  int cnt=0;
  string s1,s2;
  cin>>s1>>s2;
  for(int i=0; i<s1.size(); i++)
  {
    if(s1[i]!=s2[i])
    {
      if(s1[i]=='o')
      {
        s1[i]='*';
      }
      else if(s1[i]=='*')
      {
        s1[i]='o';
      }
      if(s1[i+1]=='o')
      {
        s1[i+1]='*';
      }
      else if(s1[i+1]=='*')
      {
        s1[i+1]='o';
      }
      cnt++;
    }
  }
  cout<<cnt<<endl;
  return 0;
}

到了这里,关于[蓝桥杯 2013 省 B] 翻硬币的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • P8604 [蓝桥杯 2013 国 C] 危险系数

    抗日战争时期,冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y): 对于两个站点 x 和 y(x!=y), 如果能找到一个站点 z,当 z 

    2024年02月12日
    浏览(44)
  • P8605 [蓝桥杯 2013 国 AC] 网络寻路

    X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。 源地址和目标地址可以相同,但中间节点必须不

    2024年02月13日
    浏览(39)
  • 【洛谷】P8604 [蓝桥杯 2013 国 C] 危险系数(爆搜)

    1:核心思路: 2:-1情况 另外在没有设置关键点的时候先跑一遍,如果在没有限制的情况下,还是不能到达终点,那么就输出-1。 okk上 3:ACcode: over~

    2024年02月16日
    浏览(45)
  • P8605 [蓝桥杯 2013 国 AC] 网络寻路 (dfs+理解题意)

    题意:找一条四边的路径,保住中间两个节点编号只能出现一次(起点(首)和终点(未)可以一样) ACcode: over~

    2024年02月15日
    浏览(40)
  • 找零问题1-最少硬币

    【问题描述】 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。(你可以认为硬币的数量是无限的) 【输入形式】不同的面额的硬币,一个总金额 【输出形式】最

    2023年04月23日
    浏览(26)
  • 找零问题-最少硬币

    【问题描述】 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。(你可以认为硬币的数量是无限的) 【输入形式】不同的面额的硬币,一个总金额 【输出形式】最

    2024年02月05日
    浏览(39)
  • 【CSDN|每日一练】硬币划分

    有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱(n100000),有多少中组合可以组成n分钱? 输入整数n.(1=n=100000) 输出组合数,答案对1e9+7取模。

    2024年02月12日
    浏览(52)
  • 【动态规划】基础DP--硬币组合

    动态规划(Dynamic Programming,DP)一般是多阶段决策问题,把一个复杂问题分解为相对简单的子问题,再一一解决,得到原复杂问题的最优解。 求解DP问题的步骤:定义状态、状态转移、算法实现。 DP问题可以分为线性和非线性的。 线性DP。线性DP有两种方法:顺推与逆推。在

    2024年02月07日
    浏览(38)
  • 【python-opencv】硬币检测

    使用 python3.8.x,opencv 使用图像处理技术,从照片中识别硬币的个数,并判断总价值。 使用颜色特征,识别出5角硬币 使用半径大小,判断出1角和1元硬币。 具体操作 将图片转换为HSV颜色模型 部分代码 提取轮廓信息 cv2.findContours() 拟合椭圆,提取ROI cv2.fitEllipse() 模板匹配 cv

    2024年02月02日
    浏览(44)
  • 979. 在二叉树中分配硬币(力扣)

    给你一个有 n 个结点的二叉树的根结点 root ,其中树中每个结点 node 都对应有 node.val 枚硬币。整棵树上一共有 n 枚硬币。 在一次移动中,我们可以选择两个相邻的结点,然后将一枚硬币从其中一个结点移动到另一个结点。移动可以是从父结点到子结点,或者从子结点移动到

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包