洛谷:P5728 【深基5.例5】旗鼓相当的对手---(6)
本题耗时(4h42min+) ---- 这道题告诉我们定义变量一定要初始化 尤其是数组
两个地方卡了好久
1. 每个人可以和多个人比较
2. 数组的初始化 初始化 初始化 ~!!!!!!!!!!
经过和 wjx兄弟的讨论优化 代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int N = 0; // 同学数
int i = 0;
int j = 0;
int k = 0;
int flag = 0;
int a[1001][5] = {0}; // 将成绩综合 放到 第 4 列
cin >> N;
for (i=0; i<N; i++) //输入
{
for (j=0; j<3; j++)
{
cin >> a[i][j];
a[i][4] += a[i][j];
}
}
int cnt = 0;
for (i=0; i<N; i++) //判断
{
for (k=i+1; k<N; k++)
{
flag = 0;
for (j=0; j<3; j++)
{
if (abs(a[i][j]-a[k][j]) > 5)
{
break;
}
flag++;
}
if (flag==3 && abs(a[i][4]-a[k][4])<=10)
{
cnt++;
}
}
}
cout << cnt;
return 0;
}