解题思路:
相邻的若干对硬币总共只有三种状态:
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 人评分