蓝桥杯 - [历届试题]翻硬币(贪心)
发布日期:2021-07-01 00:18:28
浏览次数:2
分类:技术文章
本文共 810 字,大约阅读时间需要 2 分钟。
题目链接:
时间限制:1.0s 内存限制:256.0MB问题描述
小明正在玩一个“翻硬币”的游戏。
桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。
比如,可能情形是:**oo***oooo
如果同时翻转左边的两个硬币,则变为:oooo***oooo
现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?
我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:
输入格式
两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<1000
输出格式
一个整数,表示最小操作步数。
样例输入
**********
o****o*****o**o***o***
*o***o**o***
样例输出
5
1
解题思路
直接一个一个的判断就行了,如果不相同就翻一下,因为是连续两个硬币一块翻,故下一个字符也要处理一下。
#include#include char str1[1005], str2[1005];int main() { int len, ans = 0; scanf("%s%s", str1, str2); len = strlen(str1); for (int i = 0; i < len; i++) { if (str1[i] != str2[i]) { ans++; if (str2[i + 1] == 'o') str2[i + 1] = '*'; else str2[i + 1] = 'o'; } } printf("%d\n", ans); return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/90318906 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月08日 10时12分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
搭建samba服务器实现Linux磁盘或文件夹映射为 Windows网络磁盘
2019-05-01
笔记本(ThinkPad E550c)怎样关闭触摸板 ps:打字时老是容易碰着触摸板
2019-05-01
PKCS标准
2019-05-01
RSA PKCS1 填充方式
2019-05-01
vc中使用动态链接库小结
2019-05-01
windows 下编译debug 版的openssl
2019-05-01
Linux C函数之文件及目录函数
2019-05-01
linux下遍历目录树方法总结
2019-05-01
HP UNIX下aCC安装
2019-05-01
aCC 编译器编译选项
2019-05-01
cc 和gcc编译器
2019-05-01
gcc编译选项
2019-05-01
ps -aux 状态详解
2019-05-01
COFF 文件的格式
2019-05-01
linux 多线程条件变量
2019-05-01
手机数据抓包以及wireshark技巧
2019-05-01
利用正则表达式排除特定字符串
2019-05-01
如何修改文件中间的几个字节
2019-05-01
QT中QProcess调用命令行的痛苦经历
2019-05-01
Ubuntu阿里云搭建Mono.net环境
2019-05-01