A25752. 编程实现:有一组黑白按键,每按下其中一个按键,其相邻的按键和它本身都会变成相反的颜色(黑色变白色,白色变为黑色)。如果按下的按键非最左边和最右边按键,则其本身和左右相邻的两个按键变相反颜色;如果按下最左边按键,则其本身和右边相邻的一个按键变相反颜色;如果按下最右的按键,则其本身和左边相邻的一个按键变相反颜色。给出一张“初始图”和一张“最终图”。通过按下按键,使“初始图”变为“最终图”,求最少需要…
填空题
较易
知识点
题目描述
编程实现:
有一组黑白按键,每按下其中一个按键,其相邻的按键和它本身都会变成相反的颜色(黑色变白色,白色变为黑色)。
如果按下的按键非最左边和最右边按键,则其本身和左右相邻的两个按键变相反颜色;
如果按下最左边按键,则其本身和右边相邻的一个按键变相反颜色;
如果按下最右的按键,则其本身和左边相邻的一个按键变相反颜色。

给出一张“初始图”和一张“最终图”。通过按下按键,使“初始图”变为“最终图”,求最少需要按几次可以完成。
如:初始图为黑、白、黑3个按键(状态表示:010),最终图为白、白 、黑3个按键(状态表示:110)。
首先按下2号按键,3个按键颜色变为白、黑、白(状态标识:101),然后按下3号按键,3个按键颜色变为白、白、黑(状态标识:110),故使“初始图”变为“最终图”最少需要按2次。
如下图:

输入描述:
第一行输入一个由“0”和“1”组成的字符串,字符串长度为n(1<n<26),表示游戏初始图状态,“0”表示黑色按键,“1”表示白色按键
第二行输入一个由“0”和“1”组成的字符串,字符串长度为n(1<n<26),表示游戏最终图状态,“0”表示黑色按键,“1”表示白色按键
输出描述:
输出一个整数,如果通过按键不能使初始图变为最终图,则输出“0”,否则输出最少需要按几次按键可以使初始图变为最终图
样例输入:
010
110样例输出:
2参考答案
start=list(input())
end=list(input())
czs=0
for i in range(len(start)-1):
if start[i]!=end[i]:
start[i]=end[i]
start[i+1]='0' if start[i+1]=='1' else '1'
try:
start[i+2]='0' if start[i+2]=='1' else '1'
except:
pass
czs+=1
if start!=end:
print(0)
end=1
else:
print(czs)答案解析
评分标准: (下列各评分项单独计分,得分累加;共 35 个计分点)
7分:能正确输出一组数据;
7 分:能正确输出两组数据;
7 分:能正确输出三组数据;
7分:能正确输出四组数据;
7分:能正确输出五组数据。
上一题
下一题