ebisukeプログラミング初心者脱出黙示録

30歳を過ぎてから始めたプログラミングと競プロの記録。Pythonで取り組んでいます。Arduinoで電子工作も

AtCoder-ABC199 A - Square Inequality / B - Intersection【Python解答例】

f:id:ebisuke33:20210424230411p:plain

AtCoder Beginner Contest199のA とB問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 199(Sponsored by Panasonic) - AtCoder



AtCoder Beginner Contest199 A - Square Inequality

A - Square Inequality

問題文

整数 A,B,C が与えられます。
A^2+B^2

制約

・0≤A≤1000
・0≤B≤1000
・0≤C≤1000
・A,B,C は整数である

解答例

a, b, c = map(int,input().split())

if a**2 + b**2 < c**2:
    print("Yes")
else:
    print("No")

解説

与えられた整数a,b,cにおいてa^2 + b^2 < c^2が成り立つか答える問題です。

問題文の通りにif文で条件分岐させます。
Pythonのべき乗の書き方はいろいろありますが、今回は算術演算子を用いました。

条件分岐が正ならばYes、偽ならばNoを出力させるとOKです。


AtCoder Beginner Contest199 B - Intersection

B - Intersection

問題文

長さ N の数列 A=(A1,A2,A3,…,AN),B=(B1,B2,B3,…,BN) が与えられます。
以下の条件を満たす整数 x の個数を求めてください。
・1≤i≤N を満たす全ての整数 i について Ai≤x≤Bi

制約

・1≤N≤100
・1≤Ai≤Bi≤1000
・入力に含まれる値は全て整数

解答例

n = int(input())

A = list(map(int, input().split()))
B = list(map(int, input().split()))

max_A = max(A)
min_B = min(B)

if max_A <= min_B:
    print(min_B - max_A + 1)
else:
    print(0)

解説

問題文の条件を満たすxの個数を答える問題です。

この条件を満たすxの個数は数列Bの最小値から数列Aの最大値を引いた値 + 1と言い換えることができます。
よって数列Bの最小値が数列Aの最大値より大きいときはその値を出力し、それ以外のときは0を出力すればACでした。


続いてABC199のC問題も記事にしていきたいと思います。


ABC199の関連記事はこちら
ebisuke33.hatenablog.com