Upload
reew2n
View
450
Download
0
Embed Size (px)
Citation preview
IJPC2015-2-A IOIウエハース@sortreew
問題概要 ウエハースをらせん上に積む
問題概要 ウエハースをらせん上に積む 完全に重なることなく積めるウエハースの数は?
考察 う~~~ん・・・・
∠ACD
A
D
B
C
考察 うん?
∠ACD(
∠ACD(∠ACD(
A
D
B
C
考察 うん?
∠ACD(
∠ACD(∠ACD(
∠ACD(∠ACD(
∠ACD(∠ACD(
A
D
B
C
考察 ∠ACD*2+ ∠ACD*2+ ∠ACD*2+…が 180の倍数になると、その次のウエハースは最初のウエハースと重なってしまう。何回足せば 180の倍数になるか?
解法 実際にシミュレーションする180の倍数になったら終了してウエハースを置いた回数を出力する 最小公倍数∠ACDを xとした時、lcm(180,2x)で最初に角度が 180の倍数になる場合がわかるので、それを 2xで割ってやればその角度までに置くウエハースの回数がわかる。よって lcm(180,2x)/2xを出力すればよい式変形して lcm(90,x)/xや gcdで書いた形でも可
注意 例外として、 45度のときは正方形なので 1つしか置けない また、無限における場合は角度が有理数の場合存在しない(無理数の場合のみ)