[蓝桥杯 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 题

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;
}

相关推荐

  1. [ 2013 B] 硬币

    2024-01-18 22:26:06       34 阅读
  2. P8597 [ 2013 B] 硬币

    2024-01-18 22:26:06       38 阅读
  3. 【 [ 2013 B] 硬币

    2024-01-18 22:26:06       19 阅读
  4. P8597 [ 2013 B] 硬币

    2024-01-18 22:26:06       18 阅读
  5. P8597 [ 2013 B] 硬币

    2024-01-18 22:26:06       15 阅读
  6. [ 2013 B] 硬币

    2024-01-18 22:26:06       10 阅读
  7. 【[ 2013 B] 带分数】

    2024-01-18 22:26:06       19 阅读
  8. [ 2019 B] 等差数列

    2024-01-18 22:26:06       19 阅读
  9. [ 2018 B] 递增三元组

    2024-01-18 22:26:06       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 22:26:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 22:26:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 22:26:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 22:26:06       20 阅读

热门阅读

  1. 运维笔记之linux运维管理基础

    2024-01-18 22:26:06       47 阅读
  2. 代码随想录算法训练营第八天 | 字符串

    2024-01-18 22:26:06       38 阅读
  3. 2024秋招,建信金融科技非功能测试工程师

    2024-01-18 22:26:06       33 阅读
  4. 华为HCIE课堂笔记第十五章 IPv6过渡技术

    2024-01-18 22:26:06       29 阅读