金魚亭日常

読書,ガジェット,競技プログラミング

AtCoder ABC #110

C が解けなかった

D は素因数分解やって組合せだろうな,というとこまでは考えたが…

B のテストケースに問題があって Unrated になる可能性があるらしい.

AtCoder ABC #110 C

AtCoder ABC #110 B

AtCoder ABC #110 A

タイのVISA の Re-Entry Permits

2018年9月版

スワンナプーム空港で申請できる.

場所は,手荷物検査終わった後の,パスポート・コントロールのフロアの端.

必要なものは,

  • パスポート
  • 航空券
  • 現金: 1200 THB

事前に調べた限りでは写真が必要とのことだったが,持って行っても受け取ってもらえず,問答無用で写真を撮られて200THB請求される.

パスポートと航空券を渡すと,いつ戻るのか訊かれるので,何月かを答える. タイでの住所を書けと言われたが,書いてるうちに書類が完成して,結果的に必要なかった.

1200THB渡すと,書類一式と写真のレシートと1000THBを返却されるので,それを持って進む. 返却された書類等を全部渡して10分ぐらい待つと,手続き完了. その後は普通の出国審査の列に並ぶ.

AtCoder ABC #109

1054 -> 1011

C で詰まって終了

久しぶりに解説放送見て C D 解いたけど,やっぱりわかりやすい.

A

A * B が偶数なら "No" で 奇数なら "Yes"

AtCoder ABC #109 A

B

Hash に突っ込んでやったけど,2重ループ回すのでも余裕で間に合うみたい.

AtCoder ABC #109 B

C

スタート地点を含めてソートして隣接する数字の差の最小値をとる,ってやったけど,2個だけテストが通らなくて,詰み.

正解はスタート地点との差の絶対値の集合の最大公約数をとる.

AtCoder ABC #109 C

D

最小手数 とは制約がついていないので,端から順番に,奇数なら隣に1つ渡して,偶数なら何もしない,とする. 偶数が奇数になってしまっても,自分のところに来た時にまた渡せばいい.

AtCoder ABC #109 D

AtCoder ABC #108

1015 -> 1054

A

偶数の個数と奇数の個数を数える.

AtCoder ABC #108 A

B

回転行列で. 45度回転させて √2 倍する.

AtCoder ABC #108 B

C

a + b, b + c, c + a が kの倍数になるのは,

  • a, b, c がkの倍数
  • a + b, b + c, c + a がkの倍数,つまり,a, b, c はkで割った余りが k /2

2番目があるのはkが偶数の場合のみ.

AtCoder ABC #108 C