注意、如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位,后续中奖位置都以变动后的位置开始,每隔N个人开始发红包
m,n,s = map(int,input().split())
reward = []
result = []
for i in range(m):
name = input()
reward.append(name)
for k in range(s-1,m):
if (k+1 - s) % n == 0:
if reward[k] not in result:
result.append(reward[k])
else:
s += 1
if len(result) == 0:
print("Keep going...")
else:
for i in result:
print(i)
有一个测试点错误。错误理解题目意思,以为只是本位置顺次取下一位,后续中奖位置不变
m,n,s = map(int,input().split())
reward = []
result = []
for i in range(m):
name = input()
reward.append(name)
for k in range(s-1,m,n):
while k < m:
if reward[k] not in result:
result.append(reward[k])
break
else:
k += 1
if len(result) == 0:
print("Keep going...")
else:
for i in result:
print(i)