代码如下
#include<iostream>
#include<cmath>
#include<cstring>
#include <algorithm>
#include <functional>
using namespace std;
string ans[10005];
bool zongfen(int a1,int b1,int c1,int a2,int b2,int c2){
int d1=a1+b1+c1;
int d2=a2+b2+c2;
if(max(d1,d2)-min(d1,d2)<=10) return true;
else return false;
}
bool danke(int a1,int b1,int c1,int a2,int b2,int c2){
if(max(a1,a2)-min(a1,a2)<=5&&max(b1,b2)-min(b1,b2)<=5&&max(c1,c2)-min(c1,c2)<=5) return true;
else return false;
}
int main()
{
int n;
cin>>n;
int a[n+5],b[n+5],c[n+5],m=0;
string xm[n+5];
for(int i=1;i<=n;i++){
cin>>xm[i]>>a[i]>>b[i]>>c[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j) break;
if(zongfen(a[i],b[i],c[i],a[j],b[j],c[j])==0) break;
else{
if(danke(a[i],b[i],c[i],a[j],b[j],c[j])==1){
m++;
if(xm[i]>xm[j]) ans[m]=xm[j]+" "+xm[i];
else ans[m]=xm[i]+" "+xm[j];
}
}
}
}
sort(ans,ans+m);
for(int i=1;i<=m;i++){
cout<<ans[i]<<endl;
}
return 0;
}
感谢