爆0。。。
查看原帖
爆0。。。
1284815
canwen楼主2024/4/14 19:42

测试样例能过。。

#include<bits/stdc++.h>
using namespace std;
struct aa{
	string name;
	int yuwen;
	int shuxue;
	int yingyu;
	int grade;
};
int main(){
	int n;
	cin>>n;
	aa student[n+1];
	for(int i=1;i<=n;i++){
		cin>>student[i].name>>student[i].yuwen>>student[i].shuxue>>student[i].yingyu;
		student[i].grade=student[i].yuwen+student[i].shuxue+student[i].yingyu;
	}
	for(int i=1;i<=n-1;i++){
		int tmp=i;
		for(int j=tmp+1;j<=n;j++){
			if(student[j].grade<student[tmp].grade){
				tmp=j;
			}
		} 
		if(tmp!=i){
			swap(student[tmp].name,student[i].name);
			swap(student[tmp].grade,student[i].grade);
			swap(student[tmp].yuwen,student[i].yuwen);
			swap(student[tmp].shuxue,student[i].shuxue);
			swap(student[tmp].yingyu,student[i].yingyu);
		}
		
	}
//	for(int i=1;i<=n;i++){
//		cout<<student[i].name<<" "<<student[i].yuwen<<" "<<student[i].shuxue<<" "<<student[i].yingyu<<" "<<student[i].grade<<endl;                                                                          
//	}
	for(int i=1;i<=n-1;i++){
		for(int j=i+1;j<=n;j++){
			if(abs(student[i].grade-student[j].grade)<=10&&abs(student[i].yuwen-student[j].yuwen)<=5&&abs(student[i].shuxue-student[j].shuxue)<=5&&abs(student[i].yingyu-student[j].yingyu)<=5){
				if(student[i].name<student[j].name)cout<<student[i].name<<" "<<student[j].name<<endl;
				else cout<<student[j].name<<" "<<student[i].name<<endl;		
			}
		}
	}
	return 0;
}
2024/4/14 19:42
加载中...