2018HDU 학교보다 여섯 번째 6373 핀볼 리그

문제의 의미

충돌 볼과 경사의 수를 추구, 자유 낙하를위한 작은 공을 만들기 위해 어딘가에서, 경사를 주어 (모두 탄성 충돌한다고 가정).

분석

도 문제는 다음, X 축으로, Y 축은 가상이다.

고등학교 물리 루틴, 중력 가속도는 표면을 경사 방향에 따라 폭발 할 수 있습니다.

#INCLUDE <비트 / stdc ++ H.>
 사용  스페이스 성병; 

CONST  이중 g = 9.8 ;
const를  더블 EXP = 0.000001 ;
이중 A, B, X, Y; 

INT 의 main () 
{ 
    INT의 T; 
    scanf와 ( " %의 D ' , T);
    반면 (T-- ) 
    { 
        는 scanf ( " % LF % LF % LF % LF " , & A, B, X, Y);
        경우 (a *의 Y + B * X < EXP) 
        { 
            의 printf ( " 0 \ n" )
             계속 ; 
        } 
        더블 SINN = B / SQRT (A *의 A + B의 *의 B) COSS가 = A / SQRT (A *의 A + B의 *의 B)를,
         더블 all_t = SQRT ( 2 * ((X / COSS) * (SINN - 1. / SINN) + Y) / G);   // 램프 시간에 따른 
        이중 T = SQRT ( 2 * (*에서의 X + Y SINN / COSS) / G);    // 수직 램프 단일 시간
         / / 의 printf ( "% F % F \ N-"all_t, T) 
        의 INT TMP = ( INT ) ((all_t + 특급) / T)] 
        의 printf ( " % D의 \의 N- " (TMP의 + 1이다. ) / 2 ) ;
    } 
    반환  0 ; 
}

 

추천

출처www.cnblogs.com/lfri/p/11329711.html