题目描述
有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?
IDEA
不能一边输入一边判断遇到不满足直接退出游戏,因为需要让全部篮球编号都输入完
CODE
#include<iostream>
using namespace std;
int main()
{
int p,n;
while(cin>>p>>n)
{
int ball[301]={0};
int flag[301]={0};
for(int i=0;i<n;i++)
{
cin>>ball[i];
}
int i=0;
for(;i<n;i++)
{
if(flag[ball[i]%p]){
cout<<(i+1)<<endl;
break;
}
flag[ball[i]%p]=1;
}
if(i==n){
cout<<"-1"<<endl;
}
}
return 0;
}