0分!!!
查看原帖
0分!!!
1368233
liyifanglan楼主2024/7/15 00:16
#include<bits/stdc++.h>
using namespace std;

struct stu{
	string name;
	int yu, shu, yin, tot;
	void sum(){
		tot = yu+shu+yin;
	}
};
bool tmp(stu x, stu y){
	int len = min(x.name.size(), y.name.size());
	for (int i = 0; i < len; i++){
		if (x.name[i] != y.name[i]){
			return x.name[i] < y.name[i];
		}
	}
}
bool xiangtong(stu x, stu y){
	if (abs(x.yu-y.yu) <= 5
		&& abs(x.shu-y.shu) <= 5
		&& abs(x.yin-y.yin) <= 5
		&& abs(x.tot-y.tot) <= 10)
	{
		return 1;
	}
	return 0;
}
int main(){
	int n;
	cin >> n;
	stu a[n];
	for (int i = 0; i < n; i++){
		cin >> a[i].name >> a[i].yu >> a[i].shu >> a[i].yin;
		a[i].sum();
	}
	sort(a, a+n, tmp);
	for (int i = 0; i < n; i++){
		for (int j = i+1; j < n; j++){
			if (xiangtong(a[i], a[j]) == 1){
				printf("%s %s\n", a[i].name, a[j].name);
			}
		}
	}
	return 0;
}
2024/7/15 00:16
加载中...