1208. 翻硬币

题意:

  • 给定一个初始字符串(只含*o字符)
  • 给定一个目标字符串(只含*o字符)
  • 翻转初始字符串,每次会同时翻转其相邻的两个字符
  • 求初始字符串翻转到目标字符串的最小翻转次数
  • 输入的数据保证一定有解

思路1:

  • 暴力枚举出所有的翻转情况:时间复杂度为2992^{99}299大概为6e,明显会超出时间范围

思路2:

  • 本题相当于费解的开关的一维简化问题
  • 同时扫描两个串(最后一个字符不用管),只要字符不相同就翻转初始字符串当前位置相邻两个字符
import java.util.*;
class Main {Scanner s = new Scanner(System.in);// 初始状态String s1;// 目标状态String s2;public void run() {s1 = s.next();s2 = s.next();int step = 0;// 同时扫描一遍扫描s1和s2for (int i = 0; i < s1.length() - 1; i++) {if (s1.charAt(i) != s2.charAt(i)) {// 翻转s1 = turn(s1, i);step++;}}System.out.println(step);}public String turn(String s, int i) {char[] c = s.toCharArray();c[i] = c[i] == '*' ? 'o' : '*';c[i + 1] = c[i + 1] == '*' ? 'o' : '*';return new String(c);}public static void main(String[] args) {new Main().run();}
}

AcWing 1208. 翻硬币相关推荐

  1. (枚举) acwing 1208. 翻硬币

    1208. 翻硬币 题目链接https://www.acwing.com/problem/content/1210/ 思路:很简单,就是从左边开始比,不一样就改变,后面的一个元素也会改变,然后一个个去 ...

  2. 浅谈 翻硬币游戏【Nim博弈】

    ACM博客_kuangbin 博弈-翻硬币游戏 hihoCoder 1172 : 博弈游戏·Nim游戏·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Alice和B ...

  3. 试题 历届试题 翻硬币(贪心)

    试题 历届试题 翻硬币 资源限制 时间限制:1.0s 内存限制:256.0MB Work hard,Play harder. 问题描述 小明正在玩一个"翻硬币"的游戏. 桌上放着排 ...

  4. 蓝桥杯 - 翻硬币(贪心)

    小明正在玩一个"翻硬币"的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情形是:**oo***oooo        ...

  5. 【DP】翻硬币(jzoj 3921)

    翻硬币 jzoj 3921 题目大意: 给你一个长度为nnn的当前01串和目标01串,现在你要做mmm此操作,每次操作你要使kkk个不同的位取反,现在问你有多少种方法可以使当前01串变为目标01串 输 ...

  6. 牛客14355 翻硬币

    链接:https://ac.nowcoder.com/acm/problem/14355 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  7. 蓝桥杯历届试题----矩阵翻硬币

    矩阵翻硬币 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵.随后,小明对每一个硬币分别进行一次 Q 操作.对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进 ...

  8. 蓝桥杯练习系统历届试题 翻硬币

    问题描述 小明正在玩一个"翻硬币"的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情形是:**oo***oooo 如 ...

  9. 蓝桥杯试题:矩阵翻硬币

    矩阵翻硬币 这是蓝桥杯的一道练习题,题目如下: 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵. 随后,小明对每一个硬币分别进行一次 Q 操作. 对第x行第y列的硬币进行 Q 操作的定义:将所 ...

最新文章

  1. Android优化五:布局优化
  2. java通过Access_JDBC30读取access数据库时无法获取最新插入的记录
  3. jasmine.spy对象的and.returnValue方法单步调试
  4. 我所知道的Ribbon库
  5. 使用 keytool 生成安卓应用程序签名
  6. 上海高考女生计算机专业,@2020高考:女生最多的15个专业,一辈子的好友就在这里...
  7. HTML5网站大观:10个精美的复古风格 HTML5 网站作品
  8. bzoj2440:[中山市选2011]完全平方数
  9. python高级含金量技巧_2020年最新Python开发的高级技巧,面试必学
  10. 后台管理系统前端模板(html + CSS + JavaScript)
  11. 小学教师计算机个人研修计划,小学教师信息技术个人研修计划书
  12. excel入门,如何玩转excel,你早该这么玩Excel笔记9
  13. SATA、AHCI、ATA等相关知识概述
  14. 绘一幅人人出彩的教育画卷
  15. 【秃头系列】-【本科生毕设论文格式Word】自动生成论文多级标题并排版正文
  16. MacBook m1 芯片快速下载 ndk 和环境配置,防止脱发
  17. 64码高清电视 android版,爱直播tv版-爱直播v4.7.64 安卓智能电视版__西西安卓tv
  18. 有序数组二分查找最接近的值
  19. ubuntu qq 以及 词典
  20. DSP CCS 12.00 芯片:TMS320F28335 建立工程 ,使LED 灯闪烁

热门文章

  1. 从join on和where执行顺序认识T-SQL查询处理执行顺序
  2. UnsupportedClassVersionError 错误解决办法
  3. mysql分组取每组前几条记录(排序)
  4. 你造吗?这个属性值你写错了多少年?target=“_blank”
  5. 代码优化四部曲:“拆套”、“解耦”、”封装“、“重构”
  6. Android 五大布局简析
  7. 一个拼凑sql,输出变量的 存储过程
  8. 【jQuery笔记Part1】08-jQuery操作css-获取设置样式
  9. SqlServer 日期时间格式 字符串相互转换 及相关函数
  10. Centos6离线安装docker 解决相关依赖