C,C++/JAVA/BASH/ASM ARENA

वह प्रदीप जो दीख रहा है झिलमिल दूर नही है थक कर बैठ गये क्या भाई मन्जिल दूर नही है चिन्गारी बन गयी लहू की बून्द गिरी जो पग से चमक रहे पीछे मुड देखो चरण-चिनह जगमग से बाकी होश तभी तक, जब तक जलता तूर नही है थक कर बैठ गये क्या भाई मन्जिल दूर नही है अपनी हड्डी की मशाल से हृदय चीरते तम का, सारी रात चले तुम दुख झेलते कुलिश का। एक खेय है शेष, किसी विध पार उसे कर जाओ; वह देखो, उस पार चमकता है मन्दिर प्रियतम का। आकर इतना पास फिरे, वह सच्चा शूर नहीं है; थककर बैठ गये क्या भाई! मंज़िल दूर नहीं है। दिशा दीप्त हो उठी प्राप्त कर पुण्य-प्रकाश तुम्हारा, लिखा जा चुका अनल-अक्षरों में इतिहास तुम्हारा। जिस मिट्टी ने लहू पिया, वह फूल खिलाएगी ही, अम्बर पर घन बन छाएगा ही उच्छ्वास तुम्हारा। और अधिक ले जाँच, देवता इतन क्रूर नहीं है। थककर बैठ गये क्या भाई! मंज़िल दूर नहीं है।

TJU 3513. Triangle June 9, 2010

Filed under: C,C++ Programs,Precision error,TJU — whoami @ 13:23
Tags: , ,

TJU 3513. Triangle
This problem require effort to tackle Precision errors

ACCEPTED

My AC code

//precision error upto 5 digits after decimal taken 
//ACCEPTED
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;

int main()
{
  long double PI=3.14159265/2.000000000,PI2=3.14159265;
  PI=(int)(PI*100000);PI2=(int)(PI2*100000);
  PI/=100000;PI2/=100000;
  //cout<<PI<<endl;
  int x1,y1,x2,y2,x3,y3;
  int cases,k=0;
  cin>>cases;
  while(cases--){
     cin>>x1>>y1>>x2>>y2>>x3>>y3;
     long double a,b,c;
     a=sqrt(pow((x1-x2),2.00000)+pow((y1-y2),2.00000));
     b=sqrt(pow((x2-x3),2.00000)+pow((y2-y3),2.00000));
     c=sqrt(pow((x3-x1),2.00000)+pow((y3-y1),2.00000));
     long double A,B,C;
     A=acos((b*b+c*c-a*a)/(2.00000*b*c));
     B=acos((a*a+c*c-b*b)/(2.00000*a*c));
     C=acos((b*b+a*a-c*c)/(2.00000*b*a));
     A=(int)(A*100000); B=(int)(B*100000); C=(int)(C*100000);
     A/=100000;B/=100000;C/=100000;
    //cout<<A<<" "<<B<<" "<<C<<endl;
   printf("Case #%d: ",++k);
if(x1==x2&&y1==y2||x2==x3&&y2==y3||x3==x1&&y3==y1||A==0.00000||B==0.00000||C==0.00000||A==PI2||B==PI2||C==PI2) printf("not a triangle\n");
else if(A<PI&&B<PI&&C<PI){
         
         if(a==b&&b!=c||b==c&&b!=a||c==a&&a!=b) printf("isosceles acute triangle\n");
         else if(a!=b&&b!=c&&c!=a) printf("scalene acute triangle\n");                          
         }
else if(A==PI||B==PI||C==PI){
         if(a==b&&b!=c||b==c&&b!=a||c==a&&a!=b) printf("isosceles right triangle\n");
        else if(a!=b&&b!=c&&c!=a) printf("scalene right triangle\n");                          
         }
else if(A>PI||B>PI||C>PI){
        if(a==b&&b!=c||b==c&&b!=a||c==a&&a!=b) printf("isosceles obtuse triangle\n");
        else if(a!=b&&b!=c&&c!=a) printf("scalene obtuse triangle\n");                          
         }
       
     
}
return 0;
}

 

One Response to “TJU 3513. Triangle”

  1. whoami Says:

    second version(AC)
    finding “pi”

    //precision error upto 5 digits after decimal taken 
    //ACCEPTED
    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<cstring>
    #include<algorithm>
    #include<vector>
    #include<cmath>
    using namespace std;
    
    int main()
    {
      long double PI,PI2;//=3.14159265/2.000000000,PI2=3.14159265;
      //PI=(int)(PI*100000);PI2=(int)(PI2*100000);
      //PI/=100000;PI2/=100000;
      //cout<<PI<<endl;
      int x1,y1,x2,y2,x3,y3;
      int cases,k=0;
      cin>>cases;
      while(cases--){
         cin>>x1>>y1>>x2>>y2>>x3>>y3;
         long double a,b,c;
         a=sqrt(pow((x1-x2),2.00000)+pow((y1-y2),2.00000));
         b=sqrt(pow((x2-x3),2.00000)+pow((y2-y3),2.00000));
         c=sqrt(pow((x3-x1),2.00000)+pow((y3-y1),2.00000));
         PI=acos(0);
         PI2=acos(-1);
         PI=(int)(PI*100000);PI2=(int)(PI2*100000);
         PI/=100000;PI2/=100000;
         long double A,B,C;
         A=acos((b*b+c*c-a*a)/(2.00000*b*c));
         B=acos((a*a+c*c-b*b)/(2.00000*a*c));
         C=acos((b*b+a*a-c*c)/(2.00000*b*a));
         A=(int)(A*100000); B=(int)(B*100000); C=(int)(C*100000);
         A/=100000;B/=100000;C/=100000;
        //cout<<A<<" "<<B<<" "<<C<<endl;
       printf("Case #%d: ",++k);
    if(x1==x2&&y1==y2||x2==x3&&y2==y3||x3==x1&&y3==y1||A==0.00000||B==0.00000||C==0.00000||A==PI2||B==PI2||C==PI2) printf("not a triangle\n");
    else if(A<PI&&B<PI&&C<PI){
             
             if(a==b&&b!=c||b==c&&b!=a||c==a&&a!=b) printf("isosceles acute triangle\n");
             else if(a!=b&&b!=c&&c!=a) printf("scalene acute triangle\n");                          
             }
    else if(A==PI||B==PI||C==PI){
             if(a==b&&b!=c||b==c&&b!=a||c==a&&a!=b) printf("isosceles right triangle\n");
            else if(a!=b&&b!=c&&c!=a) printf("scalene right triangle\n");                          
             }
    else if(A>PI||B>PI||C>PI){
            if(a==b&&b!=c||b==c&&b!=a||c==a&&a!=b) printf("isosceles obtuse triangle\n");
            else if(a!=b&&b!=c&&c!=a) printf("scalene obtuse triangle\n");                          
             }
           
         
    }
    return 0;
    }
    
    
    

Leave a comment