CF516E.Drazil and His Happy Friends
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Drazil 有许多朋友,他们中有些是开心的,有些是不开心的。Drazil 想让所有朋友都变得开心,于是他发明了如下计划。
在他的朋友中有 n 个男孩和 m 个女孩。我们分别将男孩编号为 0 到 n−1,女孩编号为 0 到 m−1。在第 i 天,Drazil 会邀请第 imodn 个男孩和第 imodm 个女孩一起吃饭(作为一名程序员,i 从 0 开始)。如果这两人中有一人是开心的,另一人也会变得开心。否则,这两人状态不变。一旦某人变得开心(或一开始就是开心的),他将永远保持开心。
Drazil 想知道第几天他所有的朋友都会变得开心,或者判断是否永远不会全部都开心。
输入格式
第一行包含两个整数 n 和 m(1≤n,m≤109)。
第二行包含一个整数 b(0≤b≤min(n,105)),表示一开始开心的男孩人数,接下来有 b 个不同的整数 x1,x2,⋯,xb(0≤xi<n),表示开心男孩的编号列表。
第三行包含一个整数 g(0≤g≤min(m,105)),表示一开始开心的女孩人数,接下来有 g 个不同的整数 y1,y2,⋯,yg(0≤yj<m),表示开心女孩的编号列表。
保证至少有一位朋友在初始状态下是不开心的。
输出格式
输出第一个所有朋友都变得开心的天数。如果永远不会全部都开心,输出 −1。
输入输出样例
输入#1
2 3 0 1 0
输出#1
4
输入#2
2 4 1 0 1 2
输出#2
-1
输入#3
2 3 1 0 1 1
输出#3
2
输入#4
99999 100000 2 514 415 2 50216 61205
输出#4
4970100515
说明/提示
定义 amodk 表示整数 a 除以 k 的余数。
在第一个样例中:
- 第 0 天,Drazil 邀请第 0 个男孩和第 0 个女孩。因为第 0 个女孩一开始就是开心的,所以第 0 个男孩这一天也变得开心。
- 第 1 天,Drazil 邀请第 1 个男孩和第 1 个女孩。他们都不开心,所以这一天没有变化。
- 第 2 天,Drazil 邀请第 0 个男孩和第 2 个女孩。因为第 0 个男孩已经开心了,所以他让第 2 个女孩这一天变得开心。
- 第 3 天,Drazil 邀请第 1 个男孩和第 0 个女孩。第 0 个女孩开心,所以她让第 1 个男孩变得开心。
- 第 4 天,Drazil 邀请第 0 个男孩和第 1 个女孩。第 0 个男孩开心,所以他让第 1 个女孩开心。此时,所有朋友都变得开心。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?