1. bit 全探索
考え方
分割後の数字は,大きい位ほど大きい数字のほうがよい.よって,どの数字を選ぶかが決まれば,並び方は決まる.数字の選び方を全探索することを考えると,9桁しかないのでbit 全探索できる.
回答例
N = list(map(int, list(input()))) N.sort(reverse = True) ans = 0 L = len(N) for bit in range(1 << L): l = 0 r = 0 for i in range(L): if bit & 1 << i: l *= 10 l += N[i] else: r *= 10 r += N[i] ans = max(ans, l * r) print(ans)