#P17057. [NWERC 2022] Interview Question

[NWERC 2022] Interview Question

背景

译自 Northwestern Europe Regional Contest (NWERC) 2022 Problem I。

原题许可协议为 CC BY-SA。

题目描述

Fizz Buzz 是一个聚会游戏,也常被用作求职面试中的编程练习。在这个游戏中,有两个正整数 aabb。游戏从正整数开始依次报数:如果某个数是 aa 的倍数,就用 Fizz 替代;如果是 bb 的倍数,就用 Buzz 替代;如果同时是 aabb 的倍数,就用 FizzBuzz 替代。最常见的形式是 a=3a=3b=5b=5,但也允许使用其他参数。

你在这里要解决的是反问题:给定游戏中某一段记录(不一定从 11 开始),找出可能用于生成它的 aabb

下图展示了用 Hexagony 实现的 Fizz Buzz。原题图中还列出了若干不同 aabb 下的样例序列。

:::align{center}

:::

图:用 Hexagony 实现的 Fizz Buzz。

输入格式

输入包含:

  • 一行两个整数 ccdd1cd1051 \leq c \leq d \leq 10^5),表示给出的记录从 cc 开始,到 dd 结束。
  • 一行包含 dc+1d-c+1 个整数和字符串,表示这段记录的内容。

保证这段记录对于某些满足 1a,b1061 \leq a,b \leq 10^6 的整数 aabb 是合法的,并且合法性按照上面的游戏规则定义。

输出格式

输出两个正整数 aabb1a,b1061 \leq a,b \leq 10^6),它们需要与给定记录一致。

如果有多个合法解,你可以输出任意一个。

7 11
7 8 Fizz Buzz 11
3 5
49999 50002
49999 FizzBuzz 50001 Fizz
2 125
8 11
Buzz Buzz FizzBuzz Buzz
10 1 
10 15
10 11 12 13 14 15
8 23

提示

【数据规模与约定】

对于所有数据,满足 1cd1051 \leq c \leq d \leq 10^5;保证存在 1a,b1061 \leq a,b \leq 10^6 的合法解。