競プロ日和

競技プログラミングを楽しむ

2018-01-01から1年間の記事一覧

atcoder 第10回日本情報オリンピック 予選5チーズ (Cheese)

joi2011yo_e 最短路問題 高速化のためにbit演算を使った。 ①連想配列に、'S'は0、数字は数字として位置を格納する。 ②bfs関数を作って、for文で0~N-1まで回し、それぞれ次の数字までの移動数を合計して出力する。

AtCoder Beginner Contest 113 C - ID

abc113_c ①配列liに(県P, Y年,番号)を格納。 ②配列liをソート。 ③配列ansのa番にPとcntを格納。 ・a番はliの3番目の要素 ・cntは、li[i - 1]とli[i]が同じならばcnt+1、異なるならば1 ・Pとcntをそれぞれ0埋めの6桁の文字列にし、それを合わせて配列ansに…

AtCoder Beginner Contest 113 B - Palace

abc113_b ①配列に(Aとの温度差の絶対値, 番号)を格納する。 ・Aとの温度差:(abs(A - (T - x * 0.006)) ・番号:0~N-1 ②配列内でAとの温度差が最も少ない番号を出力する。 この時、番号は0から始めているので、+1する。

AtCoder Beginner Contest 113 A - Discount Fare

abc113_a 問題文のまま実装すればいい。

atcoder Tenka1 Programmer Beginner Contest C - Align

qupc2018_c 解けなかったので、解答PDFと動画を見て理解した。 まずは配列を昇順ソートする。 そして、配列の長さなどの各パターンに合わせてそれぞれの要素に重みをつける。 1)配列の長さが偶数 2パターンあるのだが、わかりやすいので①のみを考える。 a.…

atcoder Tenka1 Programmer Beginner Contest B - Exchange

tenka1_2018_b 場合分け 奇数回 ①aにbの半分を足す。 ②bを半分にする。 偶数回 ①bにaの半分を足す。 ②aを半分にする。

atcoder Tenka1 Programmer Beginner Contest A - Measure

tenka1_2018_a 場合分け。 文字列の長さが3の場合は文字列を逆順にし、2の場合はそのまま出力する。

atcoder arc029_1

arc029_1 解き方は2通り ①全探索を調べて、最小の組み合わせを出力 ②2つの変数の小さいほうに数値を降順に格納し、2つの変数の最大値を出力 自分は①で解いたが②が面白いので、コードは②

atcoder 九州大学プログラミングコンテスト2018 C - Ito Campus

qupc2018_c 普通の最短経路問題はBFSを1つだけ使うのだが、この問題は2つ使った。 なお、イノシシがゴールにたどり着かなければゴールできると勘違いしていたため、解くのに時間がかかってしまった。 コードはpythonで制限時間内に解くのは難しかったため…

atcoder 九州大学プログラミングコンテスト2018 B - Tapu & Tapi

qupc2018_b 場合分け。 A→B→Cの順で考える。 Aの個数 ①Aが奇数なら、Bから不足分をもってくる。 このとき、Bがマイナスになることもある。 ②それ以外はそのまま Bの個数 ①Bがマイナスなら、Cから不足分をもってくる。 ②Bが奇数なら、Cから不足分をもってくる…

atcoder 九州大学プログラミングコンテスト2018 A - QUPC

qupc2018_a 第0回目を2010年とし、その後は4年に1度開催すると考える。

yukicoder No747

No747 途中までc++で書いていたが、よくわからなくなったため、pythonで書き直してAC。 ※コンテスト終了後に見直してみると、"285714"を"428571"にしたら通った。 まずはNを6で割った余りを求めて、それのk乗を求める。 Nの剰余 今回のように64bit整数で扱え…

yukicoder No746

No746 Nが'0'かそれ以外のパターンの場合分け。 Nが0の場合 "0"を出力 それ以外 Nの個数分"142857142857・・・"を出力

yukicoder No745

No745 まず、’D’が’0’の場合はライフが0となり、失敗なので、"Impossible"を出力する。 実際に得点に絡むのはperfectとgreatだが、greatから始めてコンボを継続すれば、より高得点なので、 ①great ②perfect の順で考える。 goodは考えない。

yukicoder No744

No744 ”285714”が循環する。 ただし、要素を0から始めるので、"428571"にする。