zoukankan      html  css  js  c++  java
  • 2016蘑菇街编程题:投篮游戏

    题目描述

    有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?
    输入描述:
    第一行两个整数p,n(2≤p,n≤300)。p为篮筐数,n为篮球数。接着n行为篮球上的数字xi(0≤xi≤1e9)
    输出描述:
    输出游戏的结果
    输入例子:
    10 5
    0
    21
    53
    41
    53
    输出例子:
    4
    解题
    题目说的输出的i 是第几个篮球,并且是从1 开始的,这个编号就是输入篮球的顺序
    这个很简单的
    import java.util.Scanner;
    public class Main{
        int p,n;
        int[] A;
        int[] X;
        int id;
        public static void main(String [] args){
            Main m = new Main();
            m.run();
        }
        public void run(){
            Scanner in = new Scanner(System.in);
            while(in.hasNext()){
                p = in.nextInt();
                n = in.nextInt();
                A = new int[p];
                X = new int[n];
                for(int i=0;i<n;i++)
                    X[i] = in.nextInt();
                id = Judge(A,X);
                System.out.println(id);
            }
        }
        public int Judge(int[] A,int[] X){
            for(int i=0;i<X.length;i++){
                int id = X[i]%p;
                if(id>=A.length)
                    return -1;
                if(A[id] == 0)
                    A[id] = 1;
                else
                    return i+1;
            }
            return -1;
        }
    }
  • 相关阅读:
    [最短路径SPFA] POJ 1847 Tram
    [强连通分量] POJ 1236 Network of Schools
    [强连通分量] POJ 2762 Going from u to v or from v to u?
    [强连通分量] POJ 2186 Popular Cows
    [宽度优先搜索] HDU 1372 Knight Moves
    php错误级别和异常处理
    php配置优化
    魔术方法和魔术常量
    事务
    mysql备份和还原
  • 原文地址:https://www.cnblogs.com/theskulls/p/5338534.html
Copyright © 2011-2022 走看看