#12019. Construct Proportional Numbers / 构造比例数

Construct Proportional Numbers / 构造比例数

Problem J31: Construct Proportional Numbers / 构造比例数

版权信息: · 数位全排列 + 枚举搜索题


任务总览

任务名称 时间限制 内存限制 分数
构造比例数 1 sec 1024 MB 10 points

题目描述

1,2,3,,91, 2, 3, \dots, 9 共 9 个数字 不重复地 分成三组,每组构成一个 3 位数,要求这三个 3 位数满足:

第一个数 : 第二个数:第三个数 = 1 : 2 : 3 第一个数 : 第二个数 : 第三个数 =1:2:3\text{ 第一个数 } : \text{ 第二个数 } : \text{ 第三个数 } = 1 : 2 : 3请你找出并打印出所有满足该条件的三元组。


输入格式

无输入。


输出格式

每行输出一组符合条件的比例数,格式如下:

abc def ghi

其中 abc, def, ghi 是三个不同的 3 位整数,且满足比例 1:2:31:2 : 3,每个数字 191 \sim 9 恰好使用一次。


输入输出样例

输出示例

192 384 576
219 438 657
273 546 819
327 654 981

题目分析与解法

✅ 核心约束:

  • 三个数共 9 位,且 ​ 每个数字 191 \sim 9 只使用一次,不重复、不遗漏 ​;
  • 三个数满足严格比例 1:2:31:2 : 3
  • 三数皆为 [123,987][123, 987] 范围内的合法三位正整数。

✅ 解法建议(暴力枚举):

  1. 枚举第一个数 aa(从 123 到 329);
  2. 计算 b=2×a,c=3×ab = 2 \times a, c = 3 \times a
  3. 检查 a,b,ca, b, c 拼接后是否包含所有 191 \sim 9 且无重复;
  4. 输出满足条件的结果。

时间复杂度分析

步骤 复杂度
枚举 $a$ O(200)O(200)
校验数字唯一性 O(9)O(9)
总复杂度 O(200)O(200),极快