#hASHybttg020109. 1463:门票
1463:门票
好的,这是整理好的题面,格式清晰。
题目描述
有一个数列 ( a_n ),定义如下:
- ( a_0 = 1 )
- ( a_{i+1} = (A \times a_i + a_i \bmod B) \bmod C ),其中 ( a_i \bmod B ) 是 ( a_i ) 除以 ( B ) 的余数。
要求找到这个数列第一次出现重复的项的标号(即找到最小的 ( k ),使得 ( a_k ) 在之前已经出现过,输出 ( k ))。
如果数列在 ( 2\times 10^6 ) 项内没有重复,则输出 ( -1 )。
输入格式
一行三个整数 ( A, B, C )。
输出格式
输出第一次出现重复项的位置 ( k )(即该重复项第一次出现时的索引),如果超过 ( 2\times 10^6 ) 项仍未出现重复,输出 ( -1 )。
数据范围
- 30% 的数据:( A, B, C \le 10^5 )
- 100% 的数据:( A, B, C \le 10^9 )
输入样例
2 2 9
输出样例
4
样例解释
给定 ( A=2, B=2, C=9 )。
递推公式: [ a_{i+1} = (2 \times a_i + a_i \bmod 2) \bmod 9 ]
计算:
- ( a_0 = 1 )
- ( a_1 = (2\times 1 + 1\bmod 2) \bmod 9 = (2 + 1) \bmod 9 = 3 )
- ( a_2 = (2\times 3 + 3\bmod 2) \bmod 9 = (6 + 1) \bmod 9 = 7 )
- ( a_3 = (2\times 7 + 7\bmod 2) \bmod 9 = (14 + 1) \bmod 9 = 15 \bmod 9 = 6 )
- ( a_4 = (2\times 6 + 6\bmod 2) \bmod 9 = (12 + 0) \bmod 9 = 12 \bmod 9 = 3 )
此时 ( a_4 = 3 ),而 ( a_1 = 3 ) 已经出现过,第一次出现重复项的位置是 4(因为 ( a_4 ) 重复了 ( a_1 ) 的值)。
输出 4。
这样题目就完整了,包括题意、输入输出格式、数据范围、样例及解释。