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

1.题目介绍

2.题解

2.1 二维数组

思路

主要熟悉vector创建二维数组的方法
vector<vector> ans(N,vector(3));
这里第一个元素表明数组大小,第二个元素表明该二维数组的所有元素初始化为一个大小为3的一维数组
vector(3) 是一种匿名对象(anonymous object)的写法。在这里,它是一个临时创建的 vector 对象,没有被命名,直接用于初始化外层的 vector 中的元素。

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int N;
	cin >> N;
	vector<vector<int>> ans(N,vector<int>(3));
	vector<int> sum(N);
	for(int i = 0; i < N; i++){
		cin >> ans[i][0] >> ans[i][1] >> ans[i][2];
		sum[i] = ans[i][0] + ans[i][1] + ans[i][2];
	} 
	int answer = 0;
	for(int i = 0; i < N - 1; i++){
		for(int j = i + 1; j < N; j++){
			if(abs(sum[i] - sum[j]) <= 10 && abs(ans[i][0] - ans[j][0]) <= 5
			&& abs(ans[i][1] - ans[j][1]) <= 5 && abs(ans[i][2] - ans[j][2]) <= 5)
			answer++; 
		}
	}
	cout << answer;
}
posted @ 2024-01-22 15:08  DawnTraveler  阅读(31)  评论(0编辑  收藏  举报