P 5728【ディープベース5.例5】かなりのライバル
テーマは既存のN(N≦1000)名の学生が期末試験に参加し、各学生の情報を得た:国語、数学、英語の成績(いずれも150を超えない自然数).ある学生の各科目の成績の点数差が5以下で、総点数差が10以下であれば、この学生は「旗鼓相当の相手」だ.今これらの学友の中で、何組の“旗鼓相当の相手”があることを知りたいですか?同じ人は他の何人かの同級生とペアを組むかもしれません.
フォーマットの最初の行に正の整数Nを入力します.
次のN行は、行ごとに3つの整数で、そのうちii行目はi番目の同級生の国語、数学、英語の成績を表す.最初に読み込んだ学生番号は1です.
出力フォーマットは、「旗鼓相当の相手」の対数を表す整数を出力します.
入出力サンプル入力3 90 90 90 85 95 90 80 100 91出力2
私が言ったのではなく、私は似たようなことをしたことがありますか.の
フォーマットの最初の行に正の整数Nを入力します.
次のN行は、行ごとに3つの整数で、そのうちii行目はi番目の同級生の国語、数学、英語の成績を表す.最初に読み込んだ学生番号は1です.
出力フォーマットは、「旗鼓相当の相手」の対数を表す整数を出力します.
入出力サンプル入力3 90 90 90 85 95 90 80 100 91出力2
私が言ったのではなく、私は似たようなことをしたことがありますか.の
#include
using namespace std;
typedef struct{
int ch,ma,en,total,num;
}peo;
int main(){
int n,all=0;
cin>>n;
peo stu[n];
for(int i=0;i<n;i++){
cin>>stu[i].ch>>stu[i].ma>>stu[i].en;
stu[i].total=stu[i].ch+stu[i].en+stu[i].ma;
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(abs(stu[i].ch-stu[j].ch)<=5){
if(abs(stu[i].en-stu[j].en)<=5){
if(abs(stu[i].ma-stu[j].ma)<=5){
if(abs(stu[i].total-stu[j].total)<=10){
all++;
}
}
}
}
}
}
cout<<all;
return 0;
}