[信息与未来 2015] 夏令营小旗手
题目描述
2015 2015 2015 年江苏省“信息与未来”小学夏令营在洪泽县实验小学进行,组委会决定在洪泽实验小学的学生中挑选一名小旗手,推选方法如下:
洪泽实验小学有 n n n 名学生,每名学生有一个学号,学号为 1 ∼ n 1\sim n 1∼n。同时,每名同学有一张选票,可以推选一名同学为小旗手,最后,得票最多者当选;若得票最有多名(票数相同),则学号小者当选。
例如 n = 8 n=8 n=8,选票为 2 , 3 , 4 , 4 , 3 , 4 , 1 , 6 2,3,4,4,3,4,1,6 2,3,4,4,3,4,1,6, 4 4 4 号学生得票最多( 3 3 3 票),当选小旗手。
输入格式
两个整数 n , x 1 n,x_1 n,x1, n n n 为学生数, x 1 x_1 x1 为第一个选票上的学号,之后的选票 x i ( i ≥ 2 ) x_i(i\ge2) xi(i≥2) 由下面的递推关系给出:
x i = ( ( x i − 1 × 37 + 33031 ) m o d n ) + 1 x_i = ((x_{i-1}\times 37+33031)\bmod n)+1 xi=((xi−1×37+33031)modn)+1。
其中 m o d \bmod mod 为取余运算。例如, 13 m o d 8 = 5 , 21 m o d 21 = 0 13 \bmod 8 = 5,21 \bmod 21 = 0 13mod8=5,21mod21=0。根据这个公式,就能从 x 1 x_1 x1 推出 x 2 ∼ n x_{2\sim n} x2∼n。
输出格式
一个整数,即选出的小旗手的学号。
样例 #1
样例输入 #1
5 2
样例输出 #1
2
提示
样例解释
x = { 2 , 1 , 4 , 5 , 2 } x=\{2,1,4,5,2\} x={2,1,4,5,2}, 2 2 2 号选手票数最多。
数据范围
1 ≤ x 1 ≤ n ≤ 1 0 3 1\le x_1\le n\le10^3 1≤x1≤n≤103。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容