P17057 [NWERC 2022] 面试题 / Interview Question

题目背景

译自 [Northwestern Europe Regional Contest (NWERC) 2022](https://2022.nwerc.eu) Problem I。 原题许可协议为 CC BY-SA。

题目描述

**Fizz Buzz** 是一个聚会游戏,也常被用作求职面试中的编程练习。在这个游戏中,有两个正整数 $a$ 和 $b$。游戏从正整数开始依次报数:如果某个数是 $a$ 的倍数,就用 `Fizz` 替代;如果是 $b$ 的倍数,就用 `Buzz` 替代;如果同时是 $a$ 和 $b$ 的倍数,就用 `FizzBuzz` 替代。最常见的形式是 $a=3$ 且 $b=5$,但也允许使用其他参数。 你在这里要解决的是反问题:给定游戏中某一段记录(不一定从 $1$ 开始),找出可能用于生成它的 $a$ 和 $b$。 下图展示了用 Hexagony 实现的 **Fizz Buzz**。原题图中还列出了若干不同 $a$ 和 $b$ 下的样例序列。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/wetiz0ta.png) ::: 图:用 Hexagony 实现的 Fizz Buzz。

输入格式

输入包含: - 一行两个整数 $c$ 和 $d$($1 \leq c \leq d \leq 10^5$),表示给出的记录从 $c$ 开始,到 $d$ 结束。 - 一行包含 $d-c+1$ 个整数和字符串,表示这段记录的内容。 保证这段记录对于某些满足 $1 \leq a,b \leq 10^6$ 的整数 $a$ 和 $b$ 是合法的,并且合法性按照上面的游戏规则定义。

输出格式

输出两个正整数 $a$ 和 $b$($1 \leq a,b \leq 10^6$),它们需要与给定记录一致。 如果有多个合法解,你可以输出任意一个。

说明/提示

【数据规模与约定】 对于所有数据,满足 $1 \leq c \leq d \leq 10^5$;保证存在 $1 \leq a,b \leq 10^6$ 的合法解。