牛客网---2016---蘑菇街投篮游戏

来源:互联网 发布:寻找质数的算法 python 编辑:程序博客网 时间:2024/04/30 19:59

在家的我已经懒得开电脑了,啧啧,想想感觉很是悲哀的哟,看论文的哟,妈蛋的,别天天和一个傻逼一样混日子。。。

这里写图片描述

题目:
有一个投篮游戏。球场有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 5021534153

输出:
输出游戏的结果

4

解析:
1 . 科学计数法
4.773e-101是科学记数的写法,就是4.773X10^-101的意思,即4.773乘以10的 -101次方。
2 . 这个题目貌似没什么特点,就是获取输入,然后根据输入进行判断,通过布尔值就可以。
解题所需函数:
1 . 唯一重点的地方在于布尔值的应用
初始化的布尔值,默认全部为false,通过对数据的判断,来对应修改布尔值。

boolean[] judge = new boolean[p];

默默找了一波默认值定义:

类型 默认值 byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d char \u0000 boolean false

代码:

import java.util.Scanner;public class Main{    // 主函数,老弟,没毛病    public static void main(String[] args){        // 创建Scanner并关闭        Scanner scan = new Scanner(System.in);        // while循环判断是否有多余的执行数据执行        while(scan.hasNext()){            int result = -1;            int p = scan.nextInt();            int n = scan.nextInt();            int[] x = new int[n];            // 录入所有数据            for(int i=0; i<n; i++){                x[i] = scan.nextInt();            }            // 用于判断的数据,根据篮筐进行判断的            boolean[] judge = new boolean[p];            for(int i=0; i<n; i++){                if(judge[x[i]%p]==true){                    result = i + 1;                    break;                }else{                    judge[x[i]%p]=true;                }            }            System.out.println(result);        }        scan.close();    }}
原创粉丝点击