ABC221C - Select Mul

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)