Re: Help please!WA#25
Posted by
Sasha 14 Jan 2013 01:55
#include <stdio.h>
#include <math.h>
int ax,ay,bx,by,cx,cy,l;
double AB,AC,BC,p,h,mas[3],tmp;
int main(){
scanf("%d%d%d%d%d%d%d",&ax,&ay,&bx,&by,&cx,&cy,&l);
AC=sqrt(pow(ax-cx,2.0)+pow(ay-cy,2.0));
AB=sqrt(pow(ax-bx,2.0)+pow(ay-by,2.0));
BC=sqrt(pow(bx-cx,2.0)+pow(by-cy,2.0));
p=(AB+BC+AC)/2;
h=((sqrt(p*(p-AB)*(p-BC)*(p-AC))*2)/AB)-l;
AC=AC-l;
BC=BC-l;
if(AC<0) AC=0;
if(BC<0) BC=0;
if(h<0) h=0;
mas[0]=AC; mas[1]=BC; mas[2]=h;
for(int i=0;i<3;i++){
for(int j=i+1;j<3;j++){
if(mas[i]>mas[j]){
tmp=mas[i];
mas[i]=mas[j];
mas[j]=tmp;
}
}
}
if(((ax!=bx) && (ay!=by) || (0-ax!=bx) && (0-ay!=by)) && (ax<cx && bx>cx) || (ax>cx && bx<cx) || (ay<cy && by>cy) || (ay<cy && by>cy))
printf("%.2f\n%.2f",mas[0],mas[2]);
else
{
if(BC<AC)
{
tmp=AC;
AC=BC;
BC=tmp;
}
printf("%.2f\n%.2f",AC,BC);
}
}