A1124
Description:
抽奖,从M条转发记录中第S位开始,每隔N位则为中奖用户,同一用户可以多次转发但只能获奖一次;
思路:
- 最初的做法:将M条记录存下,然后从第S人开始一条一条遍历,设当前是第i条转发,当(i - S)%N == 0时则视为中奖用户,检查是否获奖过,没获奖过则加入获奖名单并标记已获奖,若获奖过则向下寻找一位没获奖过的用户;
- 问题出在
(i - S)%N == 0时则视为中奖用户
这里,根据下标判断将破坏每隔N位
的题目描述,如图所示:
- 测试点3就是考察这个地方;
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include