Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

competitive programming

ユニークビジョンプログラミングコンテスト2023 秋 (AtCoder Beginner Contest 323)

4完 各問題 A - Weak Beats 偶数番目に 1 がひとつでもあれば "No" でそうでない場合 "Yes" です。 B - Round-Robin Tournament vector<pair<int, int>> で、「勝ち数にマイナスをつけたもの、プレイヤーの番号」を管理して、昇順にソートすれば、勝ち数の降順 -> プレイヤ</pair<int,>…

AtCoder Beginner Contest 322

5完1WA2RE 各問題 A - First ABC 2 find すればよいです。見つかった場合は返ってきたインデックスに(0オリジンなので)1を足したものを答え、npos だった場合は -1 を答えます。(npos は -1 なのでそのまま出力してもよいです) B - Prefix and Suffix S …

サントリープログラミングコンテスト2023(AtCoder Beginner Contest 321)

4完 各問題 A - 321-like Checker チェックするだけ。 B - Cutoff 制約が小さいので全探索可能です。Nラウンド目のスコアを0から順に仮定して最終結果を計算し、X以上になったらそれが答えで、100でもX以上にならなかったら何点取っても無理なので -1 です。…

AtCoder Regular Contest 165

1完8:28 各問題 A - Sum equals LCM 最小公倍数がNの方の条件は、Nを素因数分解して素因数の種類が複数であれば満たすことが可能です。60 = 2^2 * 3 * 5 であれば {4, 3, 5} という要領で各素因数ごとに A をとれば最小公倍数がNになります。素因数がひと種…

トヨタ自動車プログラミングコンテスト2023#5(AtCoder Beginner Contest 320)

5完1WA1TLE 各問題 A - Leyland Number 計算します。 B - Longest Palindrome 部分文字列を全探索。 C - Slot Strategy 2 (Easy) リールは高々3周回るうちにすべてのリールを止められるので、3周分の停止位置を全探索。 D - Relative Position 人AとBの関連…

THIRD プログラミングコンテスト 2023 アルゴ(AtCoder Beginner Contest 318)

5完1WA 各問題 A - Full Moon N から M を引いて P で割って...、みたいなことをすればよさそうと今気づきましたが、実戦ではループを書いて一日ずつ条件に合っているかどうかを確認しました。 int ans = 0; int x = 0; for (int i = 0; i < n; i++) { if (m…

ゲームフリーク Programming Contest 2023(AtCoder Beginner Contest 317)

とある事情で温泉宿に来てまして、しっかり晩酌したうえに温泉の営業時間の都合で途中で離脱することに...。 そんな中で結果は ABCE の4完でした。 各問題 A - Potions 前から順番に見ていって、最初に H + P >= X となる P の番号が答えです。 B - MissingN…

キーエンスプログラミングコンテスト2023夏(AtCoder Beginner Contest 315)

5完2WA1TLE。 各問題 A - tcdr S を 前から読んでいき、a, e, i, u, o なら何もしない、それ以外なら出力する、でよいです。 B - The Middle Day まず D の合計を求めて、それに 1 を加えてから半分にします(以下これを r とします)。あとは一つ目の月から…

AtCoder Grand Contest 064

1完1WA、28:01+10:00。 各問題 A - i i's 偶奇で場合分けが必要ですが、123545454545323, 123465656565656434342 みたいな感じでいけます。(公式解説と同じだったっぽい) 実際に投げた回答はもうちょっと(折り返し部分を)複雑にしてしまいまい、通った後…

AtCoder Beginner Contest 314

4完。 各問題 A - 3.14 ABC314ということで円周率にちなんだ問題が出るのではと予想している人もいましたが、実際出ましたね。 問題文から円周率の値をコピーして文字列として扱い、前からN+2文字分を出力すればよいです。 B - Roulette まず、だれがXに賭け…

第四回日本最強プログラマー学生選手権-予選-(AtCoder Beginner Contest 313)

2完 各問題 A - To Be Saikyo 一通り調べて、最も差が大きいものを採用。見る前に気づいたけど、max(P) == p[0] なら 0 とすると入力例3のケースで死ぬので注意。 B - Who is Saikyo? 有向グラフを作って出次数が0のものが一つならその人が最強です。 C - Ap…

AtCoder Grand Contest 063

1完1WA、12:24 + 5:00。 各問題 A - Mex Game 相手の文字を小さいほうから順に潰していくのが最善なのでお互いそのようにしていき、それによって決定されるMEXについてみていけばよいです。 痛恨のコピペミスで1WA。 B - Insert 1, 2, 3, ... なんもわからん…

ユニークビジョンプログラミングコンテスト2023 夏 (AtCoder Beginner Contest 312)

4完3WA 各問題 A - Chord 指定された文字列をsetにぶち込んで判定しました。 規則性があるのはわかってたんですけど、7個しかないので考えるより作業した方が早い。 B - TaK Code 全探索可能。実装に多少の気合が必要。 C - Invisible Hand 二分法で求めるだ…

トヨタ自動車プログラミングコンテスト2023#4(AtCoder Beginner Contest 311)

4完 各問題 A - First ABC 素直に各文字が出現したかどうかを確認するboolを3つ用意して、全部trueになったらそこが答えとしました。 ビット演算とか使えば記述量を減らすことは可能ですが、まあ誤差だし変なはまり方するリスクを負う必要もないので。 B - V…

freee プログラミングコンテスト2023(AtCoder Beginner Contest 310)

ABCEの4完5WA 各問題 A - Order Something Else min(P, Q + min(D_i)) B - Strictly Superior いわれた条件を愚直にチェックすればよいだけですが、実装がB問題にしてはちょっと面倒です。自分はこじらせまくって4WAも出してしまいました。 C - Reversible …

AtCoder Regular Contest 164

ACの2完1WA 各問題 A - Ternary Decomposition 残り回数が残った数を上回らないように貪欲にとる、残り回数と残った数が一致したらあとは 30 を並べればよいのでおわり、取れるのが 30 のみになったら残り回数と残った数が一致してないと取り切れないのでだ…

デンソークリエイトプログラミングコンテスト2023(AtCoder Beginner Contest 309)

5完1WA 各問題 A - Nine 二重ループを書いて、内側のループでだけ隣同士をチェックする、が一番早い、かな? B - Rotate 愚直に回していけばよいです。実装問。 C - Medicine X日目に何錠飲まないといけないかは簡単に求められかつ単調減少ですので、伝家の…

AtCoder Regular Contest 163

3完3WA 各問題 A - Divide String Nがたかだか2000なので、s[0] <= s[i] である i (1 <= i < N) について、s[0, i) < s[i, N) であるかどうかをすべてチェックすればよいです。 s[0, i) < s[i, N) を s[0, i) <= s[i, N) として 1WA...。 B - Favorite Game …

CodeQUEEN 2023 予選 (AtCoder Beginner Contest 308)

5完4WA1TLE 各問題 A - New Scheme いわれた通り判定します。 B - Default Price 色と値段をmapで管理すればよいです。mapにない色が来たら P_0 円です。 C - Standings 成功率を vector に入れてソートするだけですが、「成功率が同じ人が複数いる場合、そ…

東京海上日動プログラミングコンテスト2023(AtCoder Beginner Contest 307)

5完2WA 各問題 A - Weekly Records ループ回数 n と 7 の二重ループを書いて、内側のループで一週間の合計を出せばよいです。 B - racecar 全探索可能。すべての組み合わせについて s[i] + s[i] とそれを反転させたものを比較して一致すれば回文なので Yes …

トヨタ自動車プログラミングコンテスト2023#3(AtCoder Beginner Contest 306)

ABCDFの5完、3WA。 各問題 A - Echo いわれたことを、やるだけ。for (int i = 0; i < n; i++) cout << s[i] << s[i]; こんな感じで。 B - Base 2 いわれたことを、やるだけ。なのですが、これ long long だとオーバーフローします。(1WA) 私は Java の Big…

京セラプログラミングコンテスト2023(AtCoder Beginner Contest 305)

6完3WA ABC二度目の6完かな? 各問題 A - Water Station N / 5 * 5 で手前、N / 5 * 5 + 5 で次の給水所の位置が求められる(Nが5の倍数の時は前者がいる位置と一致)ので、Nとの差分が小さいほうを答えます。 B - ABCDEFG 累積和。 C - Snuke the Cookie Pi…

日鉄ソリューションズプログラミングコンテスト2023(AtCoder Beginner Contest 303)

5完 各問題 A - Similar String 気合で if 文の条件を書きました。s=t or (s='0' and t='o') or (s='o' and t='0') or (s='1' and t='l') or (s='l' and t='1') 正しい組をあらかじめ配列かなんかに入れておいてループで回すがよいです。 B - Discord 全部愚…

AtCoder Grand Contest 062

1完19:23 各問題 A - Right Side Character 証明はできてないのですが通りました。 いくつか実験してみると、Bが残ることはかなり少ないことがわかります。直感的にAの後ろのBよりBの後ろのAの方が生き残りやすいような気がします。つまりBの後ろにAがあると…

トヨタ自動車プログラミングコンテスト2023#2(AtCoder Beginner Contest 302)

5完2WA 各問題 A - Attack A / B の切り上げが答えで、これ自体は簡単な算数です。で、割り算が切り捨ての言語でこれを簡単に求める方法として (A + B - 1) / B という有名な計算方法があります。 B - Find snuke 全探索すればよいです。グリッド走査の練習…

AtCoder Regular Contest 160

1完、56:19。 各問題 A - Reverse and Count f(1, x) と、Lを先頭に固定して考えてみると、A_1 > A_x となるような x をとった場合は、その順列は先頭から 1 番目 ~ (A_1 - 1) 番目となります。A_1 < A_x の場合は後ろから1 番目~ (N - A_1) 番目となりま…

パナソニックグループプログラミングコンテスト2023 (AtCoder Beginner Contest 301)

4完2WA 各問題 A - Overall Winner 実際に勝利数を数えて比較すればよいです。同数だった場合、最後の文字が 'T' なら最後の勝利が先の青木くんの勝ちで 'A' ならその逆で高橋くんの勝ちです。 コピペミスで1WA...。 B - Fillthe Gaps 愚直に間を埋めていく…

ユニークビジョンプログラミングコンテスト2023 春 (AtCoder Beginner Contest 300)

4完3WA 各問題 A - N-choice question A + B = C となる C の番号をこたえればよいです。 B - Same Map in the RPG World グリッドは小さいので全探索すればよいです。実装がやや面倒かも。 C - Cross 制約によりバツ印同士が混じりあうことはないので、単に…

AtCoder Beginner Contest 297

5完 各問題 A - Double Click 小さいほうから隣接する2つの差がD以下であるかどうかをチェックして、D以下ならそのときの小さいほうがこたえです。一つも該当するものがなければ -1 です。 B - chess960 各条件は別にチェックできます。 'B' の方はそれぞれ…

AtCoder Regular Contest 159

1完 各問題 A - Copy and Paste Graph i から j への有向辺が存在するなら、Xの作り方から、i から j + mN への有向辺も存在しますし i + mN から j への有向辺も存在します。 というわけで、最初に与えられた行列をもとにワーシャルフロイドで頂点間の距離…