凡科建站可以多人協(xié)作編輯嗎北京百度快照推廣公司
題目描述
小明正在玩一個"翻硬幣"的游戲。
桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。
比如,可能情形是:**oo***oooo;
如果同時翻轉(zhuǎn)左邊的兩個硬幣,則變?yōu)?#xff1a;oooo***oooo。
現(xiàn)在小明的問題是:如果已知了初始狀態(tài)和要達(dá)到的目標(biāo)狀態(tài),每次只能同時翻轉(zhuǎn)相鄰的兩個硬幣,那么對特定的局面,最少要翻動多少次呢?
我們約定:把翻動相鄰的兩個硬幣叫做一步操作。
輸入描述
兩行等長的字符串,分別表示初始狀態(tài)和要達(dá)到的目標(biāo)狀態(tài)。
每行的長度<1000。
輸出描述
一個整數(shù),表示最小操作步數(shù)。
輸入輸出樣例
示例
輸入
**********
o****o****
輸出
5
運行限制
- 最大運行時間:1s
- 最大運行內(nèi)存: 64M
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int ans=0;String str=scan.next();String str1=scan.next();char[] ch=str.toCharArray();char[] ch1=str1.toCharArray();for(int i=0;i<ch.length-1;i++){if(ch[i]!=ch1[i]){ch[i]=ch[i]=='*'?'o':'*';ch[i+1]=ch[i+1]=='*'?'o':'*';ans++;}}System.out.println(ans);scan.close();}
}