2013年6月10日月曜日

筋トレ5日目: SRM567 Div1Easy "TheSquareRootDilemma"

■時間
一時間以上

■問題 SRM567 Div1 Easy "TheSquareRootDilemma"
関数SSR(A,B)=(√A + √B)^2 を定義した時、
1<=A<=N, 1<=B<=M, SRM(A,B)は整数
を満たす(A,B)の数を返せ

■試した解き方
Sieve of Eratosthenes風に、(1,1)から始めて偶数個の素数をAとBにかけ算していく。

1st submit:

最大値のN,M=77777でも自分の環境では500msで実行できたので安心していたのだが、
timeout。

沢山submit後:
longを全て消して、なんとか通った。


■Editorial
Aは普通にforで回し、それに対応してSRM(A,B)が整数になるBを数えていくという方式。

やってることは同じだけどfor文2つで書けてるのが奇麗。

■反省
・もうちょっと数式いじってればeditorialと同じ方式思いついたと思う。
・自分の環境で上手く行っても安心するな。

■筋トレ記録
勝率60% (3/5)

0 件のコメント:

コメントを投稿