競プロ

AtCoderで解いた問題とか AtCoder:Autumn_A

ABC109

onlyなので平和なコンテストでした。

400もしっかり通して全完。

ただ、理解が甘くWAを出してしまうこともあり要精進といったところ。

 

A - ABC333

与えられた2数a,bの積に1~3をかけて奇数になるかという問題。

よく考えれば偶数*奇数は偶数となるので元(a*b)が奇数であるときだけYesとなる。

例(c++)

 

B - Shiritori

素直に解いても早いので素直に解いた。

出てきた単語を全て覚えておいて、単語の語尾とその次の単語の語頭が一致しているかと

全単語の中で一致しているものがないかの2つを判断してあげればよい。

例(c++)

 

C - Skip

これの解法すぐ思いついたのは嬉しかった。

スタート地点と各座標との差が移動したい距離なのでDがそれら全ての約数となればスタート地点から各都市に訪れることができる。

問題はDの最大化なので移動したい距離の最大公約数を求めてあげればよい。

例(c)

例(c++)

 

D - Make Them Even

ややこしそうに見えるが操作回数の最小化は要求されていないし、h,wの制約は甘いのでひたすら端から動かしていけばよい。

今見ている座標を(i,j)とすると

・(i,j)にあるコインが奇数のときは→にコインを動かす。((i,j)が右端のときは↓)

後は操作の回数と各操作を覚えておいて最後に出力してあげればよい。

例は少し冗長なのでそのうち直すかも。

例(c++)