当前位置: 首页 > news >正文

翻硬币问题

小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币,用“”表示正面,用“o”表示反面(是小写字母,不是零)。比如可能情形是“**oo***ooo”,如果同时翻转左边的两个硬币,则变为“oooo***ooo”。已知初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,求对特定局面最少要翻动的次数。
 
输入格式
 
两行等长字符串,分别表示初始状态和要达到的目标状态,每行长度小于1000。
 
输出格式
 
一个整数,表示最小操作步数。
 
样例输入:
**oo***ooo

oooo***ooo

输出:1

//翻硬币
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
char start[N],aim[N];
void turn(int x){
	if(start[x]=='*') start[x]='o';
	else start[x]='*'; 
}

int main(){
	cin>>start;
	cin>>aim;
	int n = strlen(start);
	int count=0; 
	for(int i=0;i<n;++i){
		if(start[i] != aim[i]){
			turn(i);
			turn(i+1);
			count++;
		}
	}	
	cout<<"翻转的次数是:"<<count;
	return 0;
}

 

相关文章:

  • 【Docker compose】neo4j容器安装apoc插件
  • 医疗送药机器人“空间拓扑优化+动态算法决策+多级容错控制”三重链式编程技术解析与应用
  • 【WiFi 7核心技术及未来挑战】
  • 搭建刷题专业版小程序系统
  • 【机器学习chp13--(上)】人工神经网络(MLP结构 + KAN结构 + 卷积神经网络)
  • AI Agent 时代开幕-Manus AI与OpenAI Agent SDK掀起新风暴
  • 4.2 Reactive 对象的深度类型约束方案
  • 婚恋之红娘相亲小程序开发功能与设计详解
  • 福特售后再添亮点,为烈马模块化车身改装提供专业支持
  • Qt运行xxx.so can not open shared object file
  • MacOS 上使用终端彻底格式化 U 盘
  • 介绍HTTP协议基本结构与Linux中基本实现HTTPServer
  • 如何取消GitHub Copilot订阅付费?
  • 非零初始条件系统的传递函数分析
  • Kafka的零拷贝
  • 推荐系统基础
  • 【2025】基于python+django的驾校招生培训管理系统(源码、万字文档、图文修改、调试答疑)
  • linux 命令 tree
  • 神经网络:定义与核心原理
  • 【Python】08、元组
  • 吴清:巴菲特即将退休,但价值投资、长期投资、理性投资、努力回报投资者等理念不会退休
  • 多个“网约摩托车”平台上线,工人日报:安全与监管不能掉队
  • 日本来信|劳动者的书信④
  • 结束北京队与总决赛十年之痒的,为何会是一度被群嘲的许利民
  • 长三角铁路今日预计发送390万人次,昨日客发量同比增长10.5%
  • 体坛联播|赵心童晋级世锦赛决赛,德布劳内一球制胜