30分求助大佬,实在想不出还在哪有遗漏
查看原帖
30分求助大佬,实在想不出还在哪有遗漏
1146202
cmd137楼主2023/10/29 15:35
#include <iostream>

using namespace std;

int main() {
	int n, count;
	count = 0;
	cin >> n;
	int arr[n];
	int flag[200005] = {0};//用来标记被减数是否被用过,避免重复记录
	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}

	for (int i = 0; i < n; i++) {

		for (int j = 0; j < n; j++) {
			for (int k = 0; k < n; k++) {
				if ((arr[i] - arr[j] == arr[k]) && (arr[j] != arr[k]) && (flag[arr[i]] == 0) )
					count++;
			}
		}
		flag[arr[i]] = 1;//使用完该被减数后标记,避免出现重复的被减数,让该被减数只出现一次
	}
	cout << count / 2;//根据加法交换律,计算的一定出现了两次,所以除以二
}


2023/10/29 15:35
加载中...