首页 > 拼多多8.2笔试第二题
头像
Brown-2
编辑于 2020-08-02 21:11
+ 关注

拼多多8.2笔试第二题

有像我一样用穷举法做的吗?
敲代码的时候边写边笑,结果竟然AC了就很迷。
N = int(input())
nums = []
for i in range(N):
    nums.append(list(int(x) for x in input().split()))

def trans(num):
    i = num.index(1)
    if i == 0:
        pass
    elif i == 1:
        num[0], num[1], num[2], num[3] = num[1], num[0], num[3], num[2]
    elif i % 2 == 0:
        num[0], num[1], num[i], num[i + 1] = \
            num[i], num[i + 1], num[1], num[0]
    else:
        num[0], num[1], num[i - 1], num[i] = \
            num[i], num[i-1], num[0], num[1]
    l2 = min(num[2:])
    i = num.index(l2)
    if i == 2:
        pass
    elif i == 3:
        num[2], num[3], num[4], num[5] = num[3], num[2], num[5], num[4]
    elif i == 4:
        num[2], num[3], num[4], num[5] = num[4], num[5], num[3], num[2]
    else:
        num[2], num[3], num[4], num[5] = num[5], num[4], num[2], num[3]
    return num
d = {}
for i in nums:
    i = tuple(trans(i))
    d[i] = d.get(i, 0) + 1
M = len(d)
res = list(d.values())
res.sort(reverse = True)
print(M)
print(*res)

trans函数可以把一个骰子转化为“标准型”,所以可以用字典直接统计数量。
正常做法是咋样啊?

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐