SRM 668 Div2
いつも昼頃に起きる自分がSRMのために早起きしました
結果:1097 -> 1078 (-19)
結果は2完.前回より易しいセットなために前回の1完のときより相対的な出来は悪いという結果.
Easy: 文字列を入れ替える問題.特に問題なくできましたが時間がかかってしまった.
Medium: 整数座標が4つ与えられ,それが正方形をなすか答える問題.自分の解法はまず任意の3つの点(A,B,C)を選び,90度の角を見つける(ベクトルの内積で計算).AB・AC=0かつAB=ACのとき,OA+AB+ACが残りの点の座標になるかどうかをチェック.これもなんだかんだで時間をかけてしまった.
Hard: int型の配列vが与えられ,そこから3つの整数a,b,cを適当にとったとき,与えられた整数Kで割り切れる組は何通りあるかという問題.next_combinationみたいなのがあればできたかも・・方針としてはgcd(v[i], K) for all iを計算したものに配列をアップデートし,そのあと3つの数字をかければ10^18以下なのでlong longでオーバーフローしない,というものを思いついたが,時間と実力が足りず実装まではできず・・
今回はコーディングの速さが課題となったラウンドでした.次はレート上げていきたい.