洛谷P5728视频题解 深基5.例5 旗鼓相当的对手视频题解
题目描述
现有 N(N\le 1000)N(N≤1000) 名同学参加了期末考试,并且获得了每名同学的信息:语文、数学、英语成绩(均为不超过 150 的自然数)。如果某对学生 <i,j> 的每一科成绩的分差都不大于 5,且总分分差不大于 10,那么这对学生就是“旗鼓相当的对手”。现在想知道这些同学中,有几对“旗鼓相当的对手”?同样一个人可能会和其他好几名同学结对。
输入格式
第一行一个正整数 NN。
接下来 NN 行,每行三个整数,其中第 ii 行表示第 ii 名同学的语文、数学、英语成绩。最先读入的同学编号为 1。
输出格式
输出一个个整数,表示“旗鼓相当的对手”的对数。
输入输出样例
输入 #1复制
3
90 90 90
85 95 90
80 100 91
输出 #1复制
2
//信息学奥赛洛谷P5728 【深基5.例5】旗鼓相当的对手 视频题解
#include<bits/stdc++.h>
using namespace std;
//微信14808098 一起快乐学习信息学奥赛
//更多视频题解 blog.csdn.net/weixin_42790071
//更多视频题解 百度搜:清远尚贤博客
int a[1005],b[1005],c[1005];
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
// cin>>a[i]>>b[i]>>c[i];
scanf("%d %d %d",&a[i],&b[i],&c[i]);
}
int ans =0;
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
int x,y;
x = a[i]+b[i]+c[i];
y = a[j]+b[j]+c[j];
if( abs(x-y)<= 10 && abs(a[i]-a[j])<=5 && abs(b[i]-b[j])<=5 && abs(c[i]-c[j])<=5){
ans++;
}
}
}
cout<<ans<<endl;
return 0;
}
//微信14808098 一起快乐学习信息学奥赛
//更多视频题解点击 blog.csdn.net/weixin_42790071
//更多视频题解 百度搜索:清远尚贤博客
/*
1 2 3 4 5
*/