[信息与未来 2015] 分数计数
题目描述
有 n n n 个球队,编号为 1 ∼ n 1\sim n 1∼n,共进行 n n n 场比赛,每场比赛有一个胜队。计分方法如下:
- 是连胜中的第一次胜利,则本次胜利得 1 1 1 分。
- 是连胜中的第二次胜利,则本次胜利得 2 2 2 分。
- 是连胜中的第三次胜利,则本次胜利得 3 3 3 分。
- 连胜超过三次以上的胜场,每场得 3 3 3 分。
例如 n = 12 n=12 n=12,比赛的胜队为 1 , 2 , 1 , 1 , 3 , 2 , 1 , 1 , 1 , 1 , 4 , 2 1,2,1,1,3,2,1,1,1,1,4,2 1,2,1,1,3,2,1,1,1,1,4,2,计分如下:
- 队 1 1 1: 1 + 1 + 2 + 1 + 2 + 3 + 3 = 13 1+1+2+1+2+3+3=13 1+1+2+1+2+3+3=13 分;
- 队 2 2 2: 1 + 1 + 1 = 3 1+1+1=3 1+1+1=3 分;
- 队 3 ∼ 4 3\sim 4 3∼4: 1 1 1 分。
- 队 5 ∼ 12 5\sim 12 5∼12: 0 0 0 分。
求得分最多的队伍的分数。
输入格式
两个整数
n
,
x
1
n,x_1
n,x1,
n
n
n 为球队数,
x
1
x_1
x1 为第一次胜队号,第
i
(
i
≥
2
)
i(i\ge2)
i(i≥2) 场比赛胜队的编号由
以下公式确定:
x i = ( ( x i − 1 × 3703 + 1047 ) m o d n ) + 1 x_i = ((x_{i-1}\times 3703+1047) \bmod n)+1 xi=((xi−1×3703+1047)modn)+1。
输出格式
一个整数,即得分最多队的分数。
样例 #1
样例输入 #1
10 5
样例输出 #1
3
提示
1 ≤ x 1 ≤ n ≤ 1 0 6 1\le x_1\le n\le10^6 1≤x1≤n≤106。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容