備忘録代わりに精進記録を載せていくつもりです。ワーシャル-フロイド法を利用して、バス停iからバス停jに行くための最短時間をですべて記録します。終わったら、バス停iについて、そこからバス停jに行くまでの最悪時間を、jで全探索してiごとに記録します。forの2重ループを回し、1×1から9×9までの和を求めます。問題の制限から和が2025であることを見抜いても問題ないです。forの2重ループを回し、i×jが2025とNの差であったならば、答えとして出力します。ハマってしまいまったく歯が立たなかった問題になります。100回”以内”でゴール(0にする)すればいいので、とりあえず3をどんどん引いて行ってしまうのが最善の手になります。n進数を利用する、というところまではよかったのですがそこから歯が立ちませんでした。結論から言うと2進数を利用します。大元となる2進数のグラフを作成します。最小カットの問題に初めて触れました。女の子と高橋君を頂点、友人関係を辺としたグラフを作成します。頂点0からへ繋がるパスが存在しなくなるような辺の切り方を考えることになります。BITを使った問題です。この問題では、中央値となる条件をうまく言い換えていき、最終的に転倒数を求める問題に帰着させます。転倒数を求める段階で、BITを利用します。連続するk本のろうそくに火をつけたいです。正の座標にあるろうそくと、負の座標にあるろうそく両方に火をつける場合、どちらか一方は折り返して原点に戻ってくる必要があります。つるかめ算の3つバージョンですね。初めに、全て2本にしても余る(n×2>m)の場合と、全て4本にしても足りない場合(n×4<m)の場合は、答えが-1のパターンとなります。次に、真ん中、つまり足が3本の老人に注目します。全員が老人だと仮定したときに、目標となるmとのずれを調べます。全て老人だった場合にmと一致する場合は、それが答えとなります。足を減らす必要があります。差の分だけ、老人を大人に置き換えてあげると、うまくいき</m)の場合は、答えが-1のパターンとなります。問題のページにヒントが書いてあるので、それをもとに計算すればいいです。ある一点を原点に移動するように、ほかの2点も移動させてから、公式に当てはめましょう。移動するかを調べる必要があります。この問題では上下、左右は反転しても何ら問題がないので、X、Yの入力は最初の時点で正に直してしまって問題ありません。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。