拼多多0802笔试 第二题 暴力枚举

if __name__=='__main__':

    def trans(nums):
        a1,a2,a3,a4,a5,a6=nums
        ans=[
            [a1,a2,a3,a4,a5,a6],[a4,a3,a1,a2,a5,a6],[a3,a4,a2,a1,a5,a6],[a2,a1,a4,a3,a5,a6],
            [a1,a2,a4,a3,a6,a5],[a2,a1,a3,a4,a6,a5],[a4,a3,a2,a1,a6,a5],[a3,a4,a1,a2,a6,a5],
            [a1,a2,a5,a6,a4,a3],[a2,a1,a6,a5,a4,a3],[a5,a6,a2,a1,a4,a3],[a6,a5,a1,a2,a4,a3],
            [a1,a2,a6,a5,a3,a4],[a2,a1,a5,a6,a3,a4],[a5,a6,a1,a2,a3,a4],[a6,a5,a2,a1,a3,a4],
            [a4,a3,a5,a6,a2,a1],[a3,a4,a6,a5,a2,a1],[a5,a6,a3,a4,a2,a1],[a6,a5,a4,a3,a2,a1],
            [a4,a3,a6,a5,a1,a2],[a3,a4,a5,a6,a1,a2],[a5,a6,a4,a3,a1,a2],[a6,a5,a3,a4,a1,a2]
        ]
        ans_str=[]
        for ass in ans:
            ans_str.append(''.join([str(a) for a in ass]))
        return min(ans_str)
    n=int(input())
    from collections import defaultdict
    cnt=defaultdict(int)
    for _ in range(n):
        nums=list(map(int,input().split()))
        alpha=trans(nums)
        cnt[alpha]+=1
    print(len(cnt.keys()))
    print(' '.join(str(num) for num in sorted(cnt.values(),reverse=True)))


#笔试题目##拼多多#
全部评论
牛掰。我曾考虑过,但是怕太大过不了
1 回复 分享
发布于 2020-08-02 22:49
AC了吗,楼主?
点赞 回复 分享
发布于 2020-08-02 22:00
大哥,人才啊
点赞 回复 分享
发布于 2020-08-02 22:03
这。。。我怎么可能想得到。。。😂
点赞 回复 分享
发布于 2020-08-02 22:07
人才呀!
点赞 回复 分享
发布于 2020-08-02 22:13
为啥一种情况能转出24种情况来啊🤣
点赞 回复 分享
发布于 2020-08-03 00:57

相关推荐

02-02 20:25
门头沟学院 Java
数学转码崽:八股文也算是前人总结的精华,但是因为全是结果导向,你光背不去理解它背后的深层原理和这样做的原因,反而忽略了程序员最该重视的过程导向。推荐你不会的就去多问ai,比如我当时背的时候,concurrenthashmap底层原理常见八股网站都会讲,但是我不理解为什么它去用synchronize锁节点,为什么不用reentrantlock去锁节点。面试官问我你为什么觉得synchronize在这个场景下性能更好呢?虽然面试官可能也不确定清楚,但是你可以尝试给他解答,让他看见你的思考,这才是最重要的,毕竟你没实习,你的项目你也无法证明是你自己思考的产物,那就在别的地方体现你的能力
点赞 评论 收藏
分享
02-05 08:18
四川大学 Java
在思考的熊熊很讨厌吃香菜:不是,我门头沟学院呢?这都没排上?
点赞 评论 收藏
分享
评论
3
3
分享

创作者周榜

更多
牛客网
牛客企业服务