n031k1
V2EX  ›  问与答

最短包含所有四位数的切分字段

  •  1
     
  •   n031k1 · Dec 27, 2018 · 1753 views
    This topic created in 2749 days ago, the information mentioned may be changed or developed.

    我(小白一只)想生成一个包含所有四位数的字段 要求有: 切分以后每一部分在 200 个数字以内 包含了所有四位数可能出现的组合 总组数最少…

    现在用 python 生成了一个 10002 位的未拆分字段…

    3 replies    2018-12-28 15:21:57 +08:00
    n031k1
        1
    n031k1  
    OP
       Dec 27, 2018 via iPhone
    import sys

    sys.setrecursionlimit(10001)

    v = ['%04d' % a for a in range(0,9999)]
    e = dict([(a,[(a[1:]+b) for b in '0123456789' if a[1:] + b != a]) for a in v])


    def run(n, e,used, count):
    if count + 1 == len(e):
    return n
    used.add(n)
    for i in e[n]:
    if i not in used:
    r = run(i, e, used, count + 1)
    if r is not None:
    return n[0] + r
    used.remove(n)
    return None


    print run('0000',e,set(),0)
    whileFalse
        2
    whileFalse  
       Dec 27, 2018
    我脑里出现了一个四维迷宫……
    n031k1
        3
    n031k1  
    OP
       Dec 28, 2018
    有没有同学救救伸手党!不行我就要动脑了!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2707 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 15:30 · PVG 23:30 · LAX 08:30 · JFK 11:30
    ♥ Do have faith in what you're doing.