#P715. distinct
distinct
【问题描述】
陶陶为了给一道平面几何题出数据,需要产生 N 个点(x[i],y[i])。已知x,y是由伪随机函数顺序产生,即:
X[i+1] = (X[i]*Ax+Bx+i) mod Cx (X[1], Ax,Bx,Cx 是事先给定的)
Y[i+1] = (Y[i]*Ay+By+i) mod Cy (Y[1], Ay,By,Cy 是事先给定的)
这样,就可以快速连续产生很多点坐标(X[i], Y[i])。
不幸的是,这样产生的点有可能有相同的,虽然这种几率很少,但严谨的陶陶不允许这种事发生。陶陶要求你帮助他解决最少要产生前多少项时,正好有 N 个不相同的点。
输入格式:
第一行。一个整数 N .
第二行:4个整数 X[1]、 Ax、Bx、Cx .
第三行:4个整数 Y[1]、 Ay、By、Cy .
输出格式:
一个整数 M 。表示最少要连续产生 M 个点,正好有 N 个不相同的点。数据保证有答案。
数据范围:
1<=N<=1,000,000, 其它所有数据都在[1...1,000,000,000]范围内。
输入样例(distinct.in):
21
2 4 3 6
5 2 3 13
输出样例(distinct.out):
24