hdu 2080 협각 이 얼마나 큰 지 II

2322 단어 항주 전기
http://acm.hdu.edu.cn/showproblem.php?pid=2080
바로 수학 문제 입 니 다. 그리고 반 삼각함수 가 호출 되 었 습 니 다. 네 개의 좌표계 상황 을 고려 하여 잘 고려 하면 됩 니 다.
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
#include "algorithm"
#include "iostream"

using namespace std;
#define PI 3.1415926
int main()
{
    int n ; 
    double x1 , y1 , x2 , y2 , tempa ,tempb , temp; 
    scanf( "%d" , &n );
    {
        while( n-- )
        {
            scanf( "%lf%lf%lf%lf" ,&x1 , &y1 , &x2 , &y2 ) ;
        //    cout << x1 << y1 << x2 << y2 ; 
            if( x1 * x2 > 0 && y1 * y2 >= 0 )
            {
                tempa = atan( y1 / x1 ) ;
                tempb = atan( y2 / x2 ) ;
                temp = fabs( tempa - tempb ) ;
                //cout << tempa << endl << tempb << endl << temp <<endl ;
            }
            else
                if( x1 * x2 > 0 && y1 * y2 <= 0 )
                {
                    y1 = fabs( y1 ) ;
                    y2 = fabs( y2 ) ;
                    tempa = atan( y1 / x1 );
                    tempb = atan( y2 / x2 ) ;
                    temp = tempa + tempb ;
                }
                else
                    if( x1 * x2 < 0 && y1 * y2 >= 0 )
                    {
                        x1 = fabs( x1 ) ;
                        x2 = fabs( x2 ) ;  
                        tempa = atan( y1 / x1 ) ;
                        tempb = atan( y2 / x2 ) ;
                        temp = PI - fabs( tempa - tempb ); 
                    }
                    else 
                        if( x1 * x2 < 0 && y1 * y2 <= 0 )
                        {
                            x1 = fabs( x1 ) ;
                            x2 = fabs( x2 ) ;
                             y1 = fabs( y1 ) ;
                             y2 = fabs( y2 ) ;
                             tempa = atan( y1 / x1 ) ;
                             tempb = atan( y2 / x2 ) ;
                             temp = PI + fabs( tempa - tempb ) ;
                        }
            printf( "%.2lf
" , temp * 180 /PI ) ; } } return 0; }

좋은 웹페이지 즐겨찾기