0%

2026牛客暑期多校 8——G-Multiplication

题目大意

唯首是瞻

时间限制:C/C++/Rust/Pascal 1 秒,其他语言 2 秒
空间限制:C/C++/Rust/Pascal 1024 MB,其他语言 2048 MB
Special Judge,64bit IO Format: %lld

在莫扎瑞拉的魔法国度里,一场召唤仪式出了大岔子。布朗尼本想召唤传说中的女法师加莱特完整降临,结果只有她的一颗头颅现身了。这颗漂浮的头颅却毫不在意,宣称道:“有头就够了!我要证明,光凭我的头脑就胜过你们的整副身躯。”

为了展示自己的智力,加莱特放出豪言:

“随便拿两个正整数来。只要你告诉我其中一个数的前 aa 位、另一个数的前 bb 位,我就能万无一失地说出它们乘积的前 cc 位。那些看不见的低位,就像身体对于天才一样无关紧要。”

学院里最敏锐的数学家奥兰洁特立刻察觉到了其中的漏洞。但仅仅指出谬误还不够,加莱特要求给出一个具体的反例:“你要真这么聪明,就找出两对数来:它们的前几位分别相同,乘积的前几位却不同!”

奥兰洁特一时之间构造不出这样的例子,于是她来向你求助。

形式化地说,给定三个正整数 aabbcc,请构造两对正整数 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2),满足以下条件:

  • 在通常的十进制表示下(无前导零),x1x_1x2x_2 都至少有 aa 位,且二者的前 aa 位完全相同;

  • 同样地,y1y_1y2y_2 都至少有 bb 位,且二者的前 bb 位完全相同;

  • 乘积 x1y1x_1 \cdot y_1x2y2x_2 \cdot y_2 都至少有 cc 位,但二者的前 cc 位不同。

每个测试点仅一行,包含三个整数 aabbcc1a,b1051 \le a, b \le 10^51c<a+b11 \le c < a + b - 1)。

输出四个整数 x1x_1y1y_1x2x_2y2y_2,满足

10a1x1,x2<105105,10b1y1,y2<10510510^{a-1} \le x_1, x_2 < 10^{5 \cdot 10^5}, \qquad 10^{b-1} \le y_1, y_2 < 10^{5 \cdot 10^5}

且符合题目要求。这些整数均不能含有前导零。可以证明在给定约束下解总是存在的。

1
2 2 2
1
1704 1313 1789 1346

x1=1704x_1 = 1704x2=1789x_2 = 1789 的前 22 位均为 1717y1=1313y_1 = 1313y2=1346y_2 = 1346 的前 22 位均为 1313

1704×1313=22373521704 \times 1313 = 2237352,其前 22 位为 22221789×1346=24079941789 \times 1346 = 2407994,其前 22 位为 2424。两者的前 22 位不同,因此这是一组合法的构造。

思路讲解