蘑菇街2016研发工程师_投篮游戏

来源:互联网 发布:网络食品经营管理办法 编辑:程序博客网 时间:2024/06/11 21:03

有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?


#include <iostream>using namespace std;int main(){    int p,n;    bool tag[301];    int a[301];    int i,t;    while(cin>>p>>n)    {        for(i=0; i<301; ++i)            tag[i] = false;        for(i=0; i<n; ++i)            cin>>a[i];        for(i=0; i<n; ++i)        {            t = a[i];            if(t >= p)                t = t%p;            if(tag[t])                break;            tag[t] = true;        }        if(i==n)            cout<<-1<<endl;        else            cout<<i+1<<endl;    }    return 0;}



0 0