-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path投篮游戏
40 lines (35 loc) · 1.22 KB
/
投篮游戏
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
投篮游戏:
小赛最近迷上了篮球,报名参加一个投篮游戏。球场有p个篮筐,编号为0, 1, ..., p-1,每个篮筐下面有个袋子,
每个袋子最多能装入一个篮球。现在有n个篮球,第i个篮球有一个数字xi,投篮规则是将数字为xi的篮球,投入
篮筐编号为xi除以p所得的余数。如果袋子里面已经有球,那么篮球就会弹出,投篮游戏结束,输出i;否则重复进
行将篮球投完,游戏结束,输出-1。问小赛会在何时结束游戏?
输入
第一行数据是两个整数:p, n (2≤p,n≤300),p表示篮筐数目,n表示篮球数目。接着n行数据表示篮球上的数字
xi (0≤xi≤109)。
输出
输出投篮游戏结束时输出结果。
*/
#include<stdio.h>
#define MAX 300
int main(void) {
int p; //篮筐数目
int n; //篮球数目
int number[MAX] = {0}; //存储篮球编号的数组
int flag[MAX] = {0}; //标记篮筐里是否有球
int i;
int result = -1;
scanf("%d%d", &p, &n);
for(i = 0; i < n; i++) {
scanf("%d", &number[i]);
}
for(i = 0; i < n; i++) {
if(flag[number[i] % p] != 0) {
result = i+1;
break;
}
flag[number[i] % p] = 1;
}
printf("%d", result);
return 0;
}