Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 285 A問題 Edge Checker 2

問題

atcoder.jp

提出解答

(解法1) atcoder.jp

(解法2) atcoder.jp

問題の概要

問題文にある図において,  a 番の点と  b 番の点は直接線で結ばれているか?

制約

  •  1 \leq a \lt b \leq 15

解法1

線の数は  14 本なので, 各線がどの点を結んでいるかを手作業で入力し,  (a,b) がその中に存在するかどうかを判定すれば良い.

解法2

各線について, 番号の小さいの整数を  x, 番号の大きい方の整数を  y とすると, 全ての線について,  x=\lfloor \frac{y}{2} \rfloor を満たす. また,  1 \leq u \lt v \leq 15 を満たす全ての整数について,  u=\lfloor \frac{v}{2} \rfloor を満たす整数の組全てについて,  u 番の点と  v 番の点を結ぶ線が存在する.

よって,  a=\lfloor \frac{b}{2} \rfloor を満たすかどうかを判定すれば良い. 整数の商がどのようにして計算されるかどうかは各言語によるので, 調べること.