#C1053. 【202409】 乘法小宇宙

【202409】 乘法小宇宙

Problem Description

给定一个 nn 位正整数 AA 和一个两位正整数 BB,它们的乘法竖式如下所示:

      a₁ a₂ … aₙ
    ×     b₂ b₁
    -------------
      c₁ c₂ … cₘ        ← C = A × b₁
    d₁ d₂ … dₖ          ← D = A × b₂
    -------------
    p₁ p₂ … pₗ          ← P = A × B

其中:

  • A=a1a2anA = a_1 a_2 \ldots a_n 是一个 nn 位正整数(a10a_1 \ne 0);
  • B=b2b1B = b_2 b_1 是一个两位正整数(b20b_2 \ne 0),即 10B9910 \le B \le 99
  • C=A×b1C = A \times b_1b1b_1BB 的个位);
  • D=A×b2D = A \times b_2b2b_2BB 的十位);
  • P=A×B=C+10×DP = A \times B = C + 10 \times D 是最终乘积。

注意:虽然在竖式中 DD 会左移一位(相当于乘以 10),但题目中所指的 DD数值 A×b2A \times b_2 本身的十进制表示,不包含额外的末尾零。

SS 是一个由 非零个位数字(即 1199 中的若干不同数字)组成的集合。
若以下所有数字的每一位十进制数字都属于集合 SS,则称 (A,B)(A, B) 属于乘法小宇宙 SS

  • AA 的每一位;
  • BB 的每一位(即 b2b_2b1b_1);
  • C=A×b1C = A \times b_1 的每一位;
  • D=A×b2D = A \times b_2 的每一位;
  • P=A×BP = A \times B 的每一位。

本题给定 nn 和集合 SS,请你找出所有属于该乘法小宇宙的 (A,B)(A, B) 对。

4 5
4 2 1 6 5
5556 44
6111 24
6111 42
3 4
9 2 5 6
No Solution

Hint

  • 在样例 1 中:
    • 对于 A=5556A = 5556, B=44B = 44
      • C=5556×4=22224C = 5556 \times 4 = 22224
      • D=5556×4=22224D = 5556 \times 4 = 22224
      • P=5556×44=244464P = 5556 \times 44 = 244464
      • 所有出现的数字 {5,6,4,2}\{5,6,4,2\} 均属于 S={1,2,4,5,6}S = \{1,2,4,5,6\}
    • 其他输出同理验证。
  • 集合 SS 中不含数字 0,因此 AABBCCDDPP不能出现数字 0