第5次模拟测试T4题解

这篇博客解析了一个两人参与的数字游戏,其中玩家手中的数根据特定规则变化。问题求解的关键在于考虑数值可能存在的循环,并区分三种情况:同时达成目标、无法同时达到和循环节中的目标。博主给出了一个O(m)复杂度的解决方案,并邀请读者指正错误。
摘要由CSDN通过智能技术生成

HL啊~你的23日游终于结束了~

由于本人实在太懒,才写了一篇题解

 T4. 数字游戏

[问题描述]

HL中学茶余饭后喜欢玩游戏,一个游戏规则如下: 共两人参加游戏,若第一个人当前手中的数为w1,则下一秒他手上的数将 会变成(x1*w1 + y1) mod m;若第二个人当前手中的数为w2,则下一秒他 手上的数将会变为(x2*w2 + y2) mod m。a mod b表示a除以b的余数。

 第0秒,两个人手上的数分别为h1, h2; 请求出最快在第几秒,第一个 人手上的数为a1并且同时第二个人手上的数为a2。若不可能,则输出-1。

[输入格式]

输入包含5*T+1行。 第一行为一个正整数T,表示数据组数。 对于接下来的每一组数据,第一行为一个正整数m,第二行包括两个整数 h1, a1,第三行包括两个整数x1, y1,第四行包括两个整数h2, a2,第五 行包括两个整数x2, y2。

[输出格式]

输出包含T行。 对于每一组数据,输出一行,一个整数,如题所述。

[样例输入]

2

5

4 2

1 1

0 1

2 3
1023

1 2

1 0

1 2

1 1

[样例输出]

3

-1

[数据规模与约定]

对于30%的数据:m<=1000

对于100%的数据:T<=5, h1≠a1且h2≠a2,2<=m<&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值