10pts求调 5WA 4RE
查看原帖
10pts求调 5WA 4RE
224045
包包楼主2022/10/22 09:08
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,cnt;
struct A
{
	int r1;
	int r2;
	int r3;
	int xx;
	int yy;
	long long pp;
}a[100010];
int pd(int a,int b,int c,int d,int e,int f)
{
	if(a==d||a==e||a==f||b==d||b==e||b==f||c==d||c==e||c==f)
	{
		if(a==d)
		{
			if((b==e&&c==f)||(b==f&&c==e))  return 3;
			else if(b==e) return 4;
			else if(b==f) return 5;
			else if(c==e) return 6;
			else if(c==f) return 7;
			else return 0; 
		}
		else if(a==e)
		{
			if((b==d&&c==f)||(b==f&&c==d))  return 3;
			else if(b==d) return 8;
			else if(b==f) return 9;
			else if(c==d) return 10;
			else if(c==f) return 11;
			else return 0;
		}
		else if(a==f)
		{
			if((b==d&&c==e)||(b==e&&c==d))  return 3;
			else if(b==d) return 12;
			else if(b==e) return 13;
			else if(c==d) return 14;
			else if(c==e) return 15; 
			else return 0;
		}
		else if(b==d)
		{
			if((a==e&&c==f)||(a==f&&c==e)) return 3;
			else if(a==e) return 16;
			else if(a==f) return 17;
			else if(c==e) return 18;
			else if(c==f) return 19;
		}
		else if(b==e)
		{
			if((a==d&&c==f)||(a==f&&c==d)) return 3;
			else if(a==d) return 20;
			else if(a==f) return 21;
			else if(c==d) return 22;
			else if(c==f) return 23;
		}
		else if(b==f)
		{
			if((a==e&&c==d)||(a==d&&c==e)) return 3;
			else if(a==e) return 24;
			else if(a==d) return 25;
			else if(c==e) return 26;
			else if(c==d) return 27;
		}
		else return 0;
	}
	else return 0;
 } 
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].r1>>a[i].r2>>a[i].r3;
		a[i].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3)),3)/4;
		for(int j=1;j<i;j++)
		{
			int s=pd(a[j].r1,a[j].r2,a[j].r3,a[i].r1,a[i].r2,a[i].r3);
			if(s==3)
			{
				cnt++;
				a[n+cnt].pp=max((pow(min(a[i].r1+a[i].r1,min(a[i].r2,a[i].r3)),3)/4),max((pow(min(a[i].r1,min(a[i].r2+a[i].r2,a[i].r3)),3)/4),(pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[i].r3)),3)/4)));
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==4)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==5)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r3,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==6)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r2)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==7)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==8)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==9)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r3,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==10)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r2)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==11)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r2,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==12)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r3,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==13)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r3,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==14)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==15)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r2,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==16)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r1,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==17)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r3,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==18)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r1)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==19)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r1,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==20)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==21)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r3,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==22)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2,a[i].r3+a[j].r1)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==23)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r1,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==24)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r1,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==25)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r3,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==26)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1+a[j].r1,min(a[i].r2,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
			else if(s==27)
			{
				cnt++;
				a[n+cnt].pp=pow(min(a[i].r1,min(a[i].r2+a[j].r1,a[i].r3)),3)/4;
				a[n+cnt].xx=j;
				a[n+cnt].yy=i;
			}
		}
	}
	long long maxn=-1,ans1,ans2,ans22,ans3;
	/*for(int i=1;i<=n+cnt;i++)
	{
		cout<<a[i].r1<<" "<<a[i].r2<<" "<<a[i].r3<<" "<<endl;
		cout<<a[i].xx<<" "<<a[i].yy<<endl;
		cout<<a[i].pp<<endl;
	}*/
	for(int i=1;i<=cnt+n;i++)
	{
		if(a[i].pp>maxn)
		{
			maxn=a[i].pp;
			if(a[i].xx==0)
			{
				ans1=0;
				ans2=i;
				ans3=maxn;
			} 
			else
			{
				ans1=1;
				ans2=a[i].xx;
				ans22=a[i].yy;
				ans3=maxn;
			}
		}
	}
	if(ans1==0) cout<<ans1<<endl<<ans2<<endl<<ans3<<endl;
	else 		cout<<ans1<<endl<<ans2<<" "<<ans22<<endl<<ans3<<endl;
	return 0;
 } 
2022/10/22 09:08
加载中...