ITP1_2_D: Circle in a Rectangle
長方形の中の円 | プログラミング入門 | Aizu Online Judge
比較の問題
条件は、頂点(0, 0)と頂点(W, H)からなる長方形の中に円が含まれるかどうかです。
頂点(x, y)、頂点(W, H)と円の中心と半径との関係を考えます。
頂点(x, y)と、円の中心と半径との関係は、0 <= x - r and 0 <= y - r
。
頂点(W, H)と、円の中心と半径との関係は、x + r <= W and y + r <= H
。
これをまとめます。
解答1
W, H, x, y, r = list(map(int, input().split())) print('Yes' if 0 <= x - r <= x + r <= W and 0 <= y - r <= y + r <= H else 'No')
上記の比較を円の中心(x, y)を基準に考えてみると、短い比較で済みます。
解答2
W, H, x, y, r = list(map(int, input().split())) print('Yes' if r <= x <= W - r and r <= y <= H - r else 'No')