题目描述
对于一个连续正整数组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211,原来的正整数10就被拆成了0和1。
现给定一个按如上规则得到的打乱字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字。
输入描述
输入一行,为打乱字符的字符串和正整数序列的长度,两者间用空格分隔,字符串长度不超过200,正整数不超过1000,保证输入可以还原成唯一序列。
输出描述
输出一个数字,为序列中最小的数字。
参考示例
示例1
输入
19801211 5
输出
8
参考代码
# 输入获取
s, k = input().split()
k = int(k)
def cmp(base, count):
for c in base:
if count.get(c) is None or count[c] != base[c]:
return False
return True
def countNumChar(num, count, isAdd):
for c in num:
count[c] = count.get(c, 0) + (1 if isAdd else -1)
# 算法入口
def getResult():
# base:统计打乱字符的字符串中 各字符的数量
base = {}
for c in s: