Wpisywanie prostokąta w prostokąt

0

Zadanie polega na sprawdzeniu dla T zestawów czy w prostokąt o wymiarach A i B można wpisać prostokąt o wymiarach C i D. Dokładny opis jest tutaj: http://pl.spoj.com/problems/XIWTPZA/ Ma ktoś jakieś wskazówki jak to zrobić?

 #include<iostream>
#include<cmath>
using namespace std;
long  double  A,B,C,D,T,m,w,z,stosunekBA,prawa_strona,dm,pier,pierR,opierR;
int main()
{
	cin>>T;
	while(T>0)
	{
		A=0; B=0; C=0; D=0; m=0; w=0; z=0; stosunekBA=0; prawa_strona=0; dm=0; pier=0; pierR=0; opierR=0;
		cin>>A>>B>>C>>D;
		if(((A==C)&&(B==D))||((A==D)&&(B==C)))
		{
			cout<<"NIE"<<endl;
		}
		else
		{
			if(((A>C)&&(B>D))||((A>D)&&(B>C)))
			{
				cout<<"TAK"<<endl;
			}
			else
			{
				if(A>B)
				{
					m=A;
					A=B;
					B=m;
				}
				if(C>D)
				{
					w=C;
					C=D;
					D=w;
				}
				stosunekBA=B/A;
				pier=(C*C)+(D*D);
				dm=sqrt(pier);
				pierR=(dm*dm)-(A*A);
				opierR=sqrt(pierR);
				prawa_strona=((2*C*D)+((C*C)-(D*D))*opierR)/(dm*dm);
				if(stosunekBA>prawa_strona)
				{
					cout<<"TAK"<<endl;
				}
				else
				{
					cout<<"NIE"<<endl;
				}
			}
		}
		T=T-1;
	}
	return 0;
}
0

Nie mam pojęcia po co tam jakieś pierwiastki i stosunki liczysz. Narysuj sobie kilka takich par prostokątów na kartce, a dostrzeżesz prawidłowość.

0

Dobra, zmieniłem, ale nadal nie działa

#include<iostream>
#include<cmath>
using namespace std;
long  double  A,B,C,D,T,m,w,lewa_strona,prawa_strona,suma;
int main()
{
	cin>>T;
	while(T>0)
	{
		A=0; B=0; C=0; D=0; m=0; w=0; lewa_strona=0; prawa_strona=0; suma=0;
		cin>>A>>B>>C>>D;
		if(((A==C)&&(B==D))||((A==D)&&(B==C)))
		{
			cout<<"NIE"<<endl;
		}
		else
		{
				if(((A>C)&&(B>D))||((A>D)&&(B>C)))
				{
					cout<<"TAK"<<endl;
				}
				else
				{
					if(A>B)
					{
						m=A;
						A=B;
						B=m;
					}
					if(C>D)
					{
						w=C;
						C=D;
						D=w;
					}
					lewa_strona=((A+B)/(C+D))*((A+B)/(C+D));
					prawa_strona=((B-A)/(D-C))*((B-A)/(D-C));
					suma=lewa_strona + prawa_strona;
					if(suma>2)
					{
						cout<<"TAK"<<endl;
					}
					else
					{
						cout<<"NIE"<<endl;
					}
			}
		}
		T=T-1;
	}
	return 0;
}
1

Zagadka rozwiązana, dzięki @bogdans ! Chodziło o to, że z lenistwa zmienną T, oznaczającą liczbę zestawów danych, ustawiłem jako long double, a systemowi który to sprawdza nie jest wszystko jedno, @Patryk27 nie miałeś racji, >= był w przypadku gdy wierzchołki mogły leżeć na bokach, zresztą wystarczyło dokładnie przeczytać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1