拼多多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函数可以把一个骰子转化为“标准型”,所以可以用字典直接统计数量。
正常做法是咋样啊?
#笔试题目##拼多多#
全部评论
牛逼的兄弟
点赞 回复 分享
发布于 2020-08-03 00:38
我也是暴力的😏24种可能,100%过。第三题可以继续暴力,第四题没做,不知道我写个回溯能a多少。
点赞 回复 分享
发布于 2020-08-03 00:00
羡慕啊,早知道继续做第二题了,不死磕第四了
点赞 回复 分享
发布于 2020-08-02 21:25
这边有六种情况的做法 可以看一下哦 https://www.nowcoder.com/discuss/465042?source_id=profile_create&channel=666
点赞 回复 分享
发布于 2020-08-02 21:21
我本来想这么做的 感觉太麻烦了 就没写这种方法 血亏
点赞 回复 分享
发布于 2020-08-02 21:14

相关推荐

04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
评论
2
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务