博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蓝桥杯 [翻硬币] 贪心
阅读量:5153 次
发布时间:2019-06-13

本文共 522 字,大约阅读时间需要 1 分钟。

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T29

题目大意:给两个串,初始串和目标串,每一位表示硬币的正反状态。一次操作的定义是让两个相邻的硬币反面。问从初始状态到目标状态所需要的最少操作次数是多少。

关键思想:贪心。要知道如果两个串的某一位不同,那这一位必然要经历奇数次操作,而且先翻或者后翻是没有影响的。那你想,既然是奇数次,那么最好的情况就是一次搞定啊。解决方案是有的,也很容易想——从左到右扫描,一旦扫描到一位不同,就执行一次操作,而此后的所有操作不会再影响这个硬币。而且这样子的话,后面本来需要进行操作的可能顺便和前面的一次做了。也容易理解这种情况就是操作次数做少的。

代码如下:

#include 
#include
using namespace std;int main(){ string a,b; cin>>a>>b; int cnt=0; for(int i=0;i

 

转载于:https://www.cnblogs.com/G-M-WuJieMatrix/p/7223154.html

你可能感兴趣的文章
改良版twitter for iphone的照片分享程序
查看>>
flask框架中,利用数据库增删查改
查看>>
ie7下的<input type="text">高度
查看>>
11、自定义标签
查看>>
1--单独使用jdbc开发问题总结
查看>>
CALayer---iOS-Apple苹果官方文档翻译之CALayer
查看>>
LintCode 819. 单词排序
查看>>
vex 从放弃到入门
查看>>
微博项目学习笔记
查看>>
proxifier 代理bluestack
查看>>
web 前端路线
查看>>
(VC/MFC)多线程(Multi-Threading) -1. 基本概念.
查看>>
快数据时代下,Moka携手DataPipeline提升招聘效能
查看>>
DataPipeline丨构建实时数据集成平台时,在技术选型上的考量点
查看>>
day1 用户登陆三次机会
查看>>
LeetCode 159. Longest Substring with At Most Two Distinct Characters
查看>>
LeetCode Ones and Zeroes
查看>>
CF932E Team Work——第二类斯特林数
查看>>
敏捷开发一千零一问系列之十三:故事点好还是人天好?
查看>>
内置函数— — eval、exec、compile
查看>>