//翻硬币,每次都会改变两个硬币的状态
//因此我们可以从前往后枚举,s1[i] 与 s2[i] 状态不同就改变它的状态
//同时s1[i + 1] 与 s2[i + 1] 的状态会因此改变
// 所以继续往下枚举s1[i + 1] 与 s2[i + 1]
//因为题目有说必须有解,因此枚举到 n - 1位的时候,两个字符串的最后一位一定相同
//这时操作的步数即是最小值
//该题是费解的开关的简化版
// 费解的开关是第一行影响第二行,第二行影响第三行...
//这一题是第一个硬币影响第二个硬币,第二个硬币影响第三个硬币...
import java.io.*;
public class Main
{
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
static int N = 110;
static char[] s1 = new char[N];
static char[] s2 = new char[N];
static int res;
public static void main(String[] args)throws IOException
{
s1 = in.readLine().toCharArray();
s2 = in.readLine().toCharArray();
//n个数,可以按 n - 1次
for(int i = 0;i < s1.length - 1;i++)
{
if(s1[i] != s2[i])
{
turn(i);
turn(i + 1);
res++;
}
}
System.out.print(res);
in.close();
}
public static void turn(int i)
{
if(s1[i] == '*') s1[i] = 'o';
else s1[i] = '*';
}
}
还有这一题:飞行员兄弟
原文地址:https://blog.csdn.net/2302_76649176/article/details/134749928
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_39654.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。