遇见船朔


私信TA

用户名:1046806161

访问量:765

签 名:

等  级
排  名 2617
经  验 2134
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

    相邻的若干对硬币总共只有三种状态:

        1.独立的一对相同硬币

        2.相邻的两对相反硬币

        3.两对相反硬币中间夹着n对相同硬币

    分别对这三种情况进行处理即可

注意事项:

    若不相同的硬币对数为奇数,则无法完成

参考代码:

# 精罗落泪.......

start_array = input()
end_array = input()
i = 0
cnt = 0
while i < len(start_array):
   if start_array[i] == end_array[i]: # 独立的一对相同硬币,不予理会
        i += 1
       continue
   elif start_array[i+1] != end_array[i+1]: # 相邻的两对相反硬币,只需翻转一次
           cnt += 1
           i += 2
   else: # 两对相反硬币中间夹着n对相同硬币,需翻转n+1次
       i += 1
       while i < len(start_array) and start_array[i] == end_array[i]:
           i += 1
           cnt += 1
       i += 1
       cnt += 1
print(cnt)


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区