# 【深基5.例5】旗鼓相当的对手

## 题目描述

现有 $N$ 名同学参加了期末考试,并且获得了每名同学的信息:语文、数学、英语成绩(均为不超过 $150$ 的自然数)。如果某对学生 $\text{<}i,j\text{>}$ 的每一科成绩的分差都不大于 $5$,且总分分差不大于 $10$,那么这对学生就是“旗鼓相当的对手”。现在想知道这些同学中,有几对“旗鼓相当的对手”?同样一个人可能会和其他好几名同学结对。

## 输入格式

第一行一个正整数 $N$。

接下来 $N$ 行,每行三个整数,其中第 $i$ 行表示第 $i$ 名同学的语文、数学、英语成绩。最先读入的同学编号为 $1$。

## 输出格式

输出一个整数,表示“旗鼓相当的对手”的对数。

## 样例 #1

### 样例输入 #1

```

3

90 90 90

85 95 90

80 100 91

```

### 样例输出 #1

```

2

```

## 提示

数据保证,$2 \le N\le 1000$ 且每科成绩为不超过 $150$ 的自然数。

代码如下:

import java.util.*;

public class Main {

    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        int n=sc.nextInt();int count=0;

        int mat[]=new int [n];

        int eng[]=new int[n];

        int chi[]=new int[n];

        int tot[]=new int[n];

        for (int i = 0; i <mat.length; i++) {

            chi[i]=sc.nextInt();

            mat[i]=sc.nextInt();

            eng[i]=sc.nextInt();

            tot[i]=chi[i]+eng[i]+mat[i];

        }

        for (int i = 0; i < n; i++) {

            for (int j = i+1; j < n; j++) {

                if((Math.abs(chi[i]-chi[j])<=5)&&(Math.abs(mat[i]-mat[j])<=5)&&(Math.abs(eng[i]-eng[j])<=5)&&(Math.abs(tot[i]-tot[j])<=10)){

                  count++;

                }

            }

        }

        System.out.println(count);

    }

}

这道题说实话用二维数组最合适,但是二维数组掌握不好,就是直接暴力解法。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 2019年8月8日开始编写,等50题做完了希望不会太晚。 本篇纯属本人的练手作业,本人也不是什么大神,仅供参考。 ...
    墨鸢Wesley阅读 935评论 0 0
  • 这周准备了四级,但是更重要的是,那个毛概要补考了,一会儿晚上考试,水一篇,这周的东西都总结完了。 符 比如: 3<...
    Hello_word_李阳阅读 695评论 4 9
  • 绝对值排序 Time Limit: 2000/1000 MS (Java/Others)Memory Limit:...
    彦小忠阅读 185评论 0 0
  • 题目链接:https://www.luogu.com.cn/problem/P6363 题目描述 某大学的《软件工...
    彦小忠阅读 535评论 0 0
  • 题目背景 计算机竞赛小组的神牛V神终于结束了高考,然而作为班长的他还不能闲下来,班主任老t给了他一个艰巨的任务:帮...
    张雪莹_8期强化班阅读 364评论 0 0

友情链接更多精彩内容