P5741 【深基7.例10】旗鼓相当的对手 - 加强版
AC代码
#include<bits/stdc++.h>
using namespace std;
int ch[1000],ma[1000],en[1000],sum[1000];
bool pd(int a,int b)
{
    int n1=abs(ch[a]-ch[b]);
    int n2=abs(ma[a]-ma[b]);
    int n3=abs(en[a]-en[b]);
    int n4=abs(sum[a]-sum[b]);
    if(n1<=5 && n2<=5 && n3<=5 && n4<=10)
        return true;
    else
        return false;
}
int main()
{
    int n;
    char name[1000][10];
    cin>>n;
    for(int i=0;i<n;i++)
    {
        scanf("%s %d %d %d",name[i],&ch[i],&ma[i],&en[i]);
        sum[i]=ch[i]+ma[i]+en[i];
    }
    for(int i=0;i<n;i++)
        for(int j=i+1;j<=n;j++)
            if(name[i]>name[j])
            {
                swap(name[i],name[j]);
                swap(ch[i],ch[j]);
                swap(ma[i],ma[j]);
                swap(en[i],en[j]);
            }
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(pd(i,j))
                printf("%s %s\n",name[i],name[j]);
        }
    }
    return 0;
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号