社区讨论

大佬帮看一下,80分,第一个数据tle了

P5741【深基7.例10】旗鼓相当的对手 - 加强版参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo1ohnfs
此快照首次捕获于
2023/10/23 00:23
2 年前
此快照最后确认于
2023/11/03 01:05
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct we{
	string s;
	int a,b,c;
	int d;
}a[10000];
struct sw{
	int a,b;
}as[100000];//用来存放是相当对手的序号
int main(){
	int w,aq=0,i,r;
	cin>>w;
	
	sw zx;
	for(i=0;i<w;i++){
		cin>>a[i].s>>a[i].a>>a[i].b>>a[i].c;
		a[i].d=a[i].a+a[i].b+a[i].c;
	}//输入
for(i=0;i<w-1;i++){
	for(r=i+1;r<w;r++){
		if(fabs(a[i].a-a[r].a)<=5&&fabs(a[i].b-a[r].b)<=5
		&&fabs(a[i].c-a[r].c)<=5&&fabs(a[i].d-a[r].d)<=10)
		{
			as[aq].a=i;as[aq].b=r;aq+=1;
	}}}//选择排序来判断,并将序号存入另一个结构体
	aq-=1;
		for(i=0;i<aq;i++){
	for(r=i+1;r<=aq;r++){
	if(as[i].a>as[r].a){
		zx=as[i];
		as[i]=as[r];
		as[r]=zx;
	}//用选排根据字典顺序将存放序号的结构体进行排序
	if(as[i].a==as[r].a&&as[i].b>as[r].b)
	{
		zx=as[i];
		as[i]=as[r];
		as[r]=zx;
	}}}
	for(i=0;i<=aq;i++){
		cout<<a[as[i].a].s<<" "<<a[as[i].b].s<<endl;}//输出
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...