题解 | #射击训练#

射击训练

https://www.nowcoder.com/practice/95f6f951ca65461292daf66dec7c6c46

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        while(in.hasNext()){
            solution(in);
        }
    }

    /**
     * 模拟法: 统计个数
     * @param in
     */
    private static void solution(Scanner in){
        int n = in.nextInt();

        int[] scores = new int[n];
        int[] count = new int[1001];

        for(int i=0; i<n; i++){
            scores[i] = in.nextInt();
            count[scores[i]]++;
        }

        Arrays.sort(scores);

        int multi;
        int result = 0;
        for(int i=0; i<n; i++){
            for(int j=i+1; j<n; j++){
                for(int k=j+1; k<n; k++){
                    multi = scores[i]*scores[j]*scores[k];
                    if(multi > 1000){
                        break;
                    }else{
                        count[scores[i]]--;
                        count[scores[j]]--;
                        count[scores[k]]--;
                        if(count[multi] > 0){
                            result++;
                        }
                        count[scores[i]]++;
                        count[scores[j]]++;
                        count[scores[k]]++;
                    }
                }
            }
        }

        System.out.println(result);
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 13:05
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:10
直接上图
牛客13578115...:改得一般,不值80
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务