ABC026-B - N重丸 を解く
ABC026-B - N重丸
N重丸が外側から赤、白、赤、白、… と塗り分けられているので
赤い部分の面積を求めよという問題
一番外が赤であることから、一番外の円の面積を求め、
その一つ内にある円の面積を引き、
さらにその一つ内にある円の面積を足し、
さらに一つ内にある円の面積を引き、
さらにその一つ内にある円の面積を足し、
さらに一つ内にある円の面積を引き、
…
といったように外側から円の面積を求めて
順に足し引きを繰り返していけばよさそうだ
提出したコード
import math # 入力 N=int(input()) # 面積 s=0 l=[] for i in range(N): l.append(int(input())) # ソート l=sorted(l,key=lambda x:x,reverse=True) for i in range(N): a=l[i] if i%2==0: s+=a*a*math.pi else: s-=a*a*math.pi # 出力 print(s)