2018HDU学校よりも第六6373ピンボールリーグ

問題の意味

衝突ボールやスロープの数を求めて、自由落下のために小さなボールを作るためにどこからか、傾斜を考えると(両方の弾性衝突と仮定して)。

分析

図問題は、以下、X軸と、Y軸は仮想です。

高校の物理のルーチンは、重力加速度は、表面に傾斜した方向に沿って展開することができます。

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、

CONST  ダブル G = 9.8 constの ダブル EXP = 0.000001 ;
二重、B、X、Y。

INT のmain()
{ 
    int型のT。
    scanf関数(" %のD "、&T)。
    一方、(T-- 
    { 
        scanf関数(" %LF%LF%LF%LF "、&​​、&B、&X&Y)。
        もし(*はY + B * X < EXP)
        { 
            のprintf(" 0 \ nは" );
             続行; 
        } 
        ダブルシン= B / SQRT(*はA +のB * B)、COSS = A / SQRT(*はA +のB * B);
         ダブル all_t = SQRT(2 *((X / COSS) *(シン- 1 /シン)+ Y)/ G);   // ランプ時間に沿って
        ダブル T = SQRT(2 *(X * Y +シン/ COSS)/ G);    // 垂直ランプ単一の時間
         / / のprintf( "%F%F \ N-"、all_t、T); 
        int型 TMP =(INT)((all_t + EXP)/ T); 
        のprintf(" %Dの\のN- "、(TMPの+ 1)/ 2 ) ;
    }
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/lfri/p/11329711.html