滴滴算数表达式交换这道题按它的规则暴力解好像还行。。。

# n = int(input())
from itertools import chain

line = input().strip().split()
nums = list(map(int,line[::2]))
chars = line[1::2]
chars.append(' ')

print(nums)
print(chars)

s = list(chain.from_iterable(zip(nums, chars)))
befor = eval("".join(list(map(str,s))))
print(befor)

for i in range(len(nums)):
    while i>0 and nums[i]<nums[i-1]:
        s = list(chain.from_iterable(zip(nums, chars)))
        befor = eval("".join(list(map(str,s))).strip())
        nums[i],nums[i-1] = nums[i-1],nums[i] #交换
        s = list(chain.from_iterable(zip(nums, chars)))
        after = eval("".join(list(map(str,s))).strip())
        if befor == after:
            i-=1
        else:
            nums[i], nums[i - 1] = nums[i - 1], nums[i] #交换回去
            break

s = list(chain.from_iterable(zip(nums, chars)))
s = " ".join(list(map(str,s)))
print(s)
after = eval(s)
print(after)

# 19 + 18 + 17 / 16 * 15 * 14 / 13 - 12 + 11 + 10 * 9 / 8 - 7 + 6 - 5 + 4 + 3 * 2 * 1


#滴滴##笔试题目##校招#
全部评论

相关推荐

点赞 评论 收藏
转发
1 14 评论
分享
牛客网
牛客企业服务