問題一覧 > 通常問題

No.1624 三角形の反射

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 78
作問者 : nullnull / テスター : oteraotera saksak
9 ProblemId : 5353 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-04-25 23:40:48

問題文

null くんの家は $xy$ 平面上にあり、$A=(0, 0), B=(1, 0), C=(0, 1)$ の全面鏡張りである直角二等辺三角形 $ABC$ です。頂点 $A$ には照明がおいてあります。

照明からはレーザーが出ます。レーザーは点 $A$ から $x, y$ ともに正の方向に傾き $a$ ($x$ 軸からの角度を $\theta$ として $\tan \theta = a$) で放たれます。 レーザーは各辺に当たると入射角と反射角が等しくなるように反射し、点 $A, B, C$ のいずれかに当たると止まります。

この時、レーザーが点 $A$ から発射されてから次に当たる頂点と、その頂点に当たるまでに反射する辺の数を出力してください。有限回の反射で点 $A, B, C$ のいずれかに当たらない場合は -1 を出力してください。

制約

  • $0.001 \le a \le 1000.000 = 10^3$
  • 入力は小数部の桁数が $3$ である。
  • 入力

    $a$
    

    出力

    レーザーが点 $A$ から発射されてから次に当たる頂点と、その頂点に当たるまでに反射する辺の数を空白区切りで出力してください。有限回の反射で点 $A, B, C$ のいずれかに当たらない場合は -1 を出力してください。最後に改行してください。

    サンプル

    サンプル1
    入力
    1.000
    
    出力
    A 1
    

    $1$ 回 $AB$ で反射し、そのまま戻ってきます。

    サンプル2
    入力
    0.500
    
    出力
    C 2
    

    サンプル3
    入力
    0.124
    
    出力
    C 528
    

    提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。