洛谷: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;
}