c 样例过了 后面过不了
查看原帖
c 样例过了 后面过不了
804490
qqqqewdwqew楼主2022/10/10 15:07
#include <stdio.h>
#include <math.h>
typedef struct{
	char name[10];
	int ch;
	int ma;
	int en;
}str;
int main (){
	str a[1000];
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%s",a[i].name);
		scanf("%d",&a[i].ch);
		scanf("%d",&a[i].ma);
		scanf("%d",&a[i].en);
	}

    int f=0,se=0;
    for(int i=0,SUM=0;i<n-1;i++){
		SUM=a[i].ch+a[i].ma+a[i].en;
		for(int j=i+1,sum=0,c,s,y;j<n;j++){
			sum=a[j].ch+a[j].ma+a[j].en;
			c=fabs(a[i].ch-a[j].ch);
			s=fabs(a[i].ma-a[j].ma);
			y=fabs(a[i].en-a[j].en);
			if(c<=5&&s<=5&&y<=5&&fabs(sum-SUM)<=10){
				for(int k=0;a[i].name[k]!='\0'&&a[j].name[k]!='\0';k++){//判断顺序
					if(a[i].name[k]!=a[j].name[k]){
						if(a[i].name[k]>a[j].name[k]){f=j,se=i;}
						else{f=i,se=j;}
						break;
					}
				}if(i==n-2){
				printf("%s %s",a[f].name,a[se].name);}
				else printf("%s %s\n",a[f].name,a[se].name);
			}
		}
	}
}
2022/10/10 15:07
加载中...