#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Student{
char name[9];
int chinese;
int math;
int english;
int total;
};
int main(void) {
int N, i, j;
scanf("%d", &N);
struct Student temp, * p = (struct Student*)calloc(N, sizeof(struct Student));
for (i = 0; i < N; i++) {
scanf("%s%d%d%d", (p + i)->name, &(p + i)->chinese, &(p + i)->math, &(p + i)->english);
(p + i)->total = (p + i)->chinese + (p + i)->english + (p + i)->math;
}
for (i = 0; i < N; i++)
for (j = i + 1; j < N; j++)
if (strcmp((p + i)->name, (p + j)->name) > 0) {
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
for (i = 0; i < N; i++)
for (j = i+1; j < N; j++)
if ((abs((p + i)->chinese - (p + j)->chinese) <= 5) && (abs((p + i)->math - (p + j)->math) <= 5) && (abs((p + i)->english - (p + j)->english) <= 5) && (abs((p + i)->total - (p + j)->total) <= 10))
if (strcmp((p + i)->name, (p + j)->name) < 0)
printf("%s %s\n", (p + i)->name, (p + j)->name);
else
printf("%s %s\n", (p + j)->name, (p + i)->name);
free(p);
return(0);
}
洛谷P5741 【深基7.例10】旗鼓相当的对手 - 加强版经典解法
最新推荐文章于 2024-02-24 17:05:48 发布