おじさんの競プロ記録

自分の力で解答できた問題を振り返り、理解を深めたいです。

AtCoder Beginner Contest 206 C - Swappable

問題 問題文へ N個の整数からなる数列が与えられるので、次の条件を全て満たす整数組の数を求めてください。 制約 入力は全て整数 考えたこと 制約から、全ての整数組を試すのでは間に合いません。ですが、一度それで考えてみて改善できるか確認してみます。…

AtCoder Beginner Contest 200 C - Ringo's Favorite Numbers 2

問題 問題文へ 200という整数が大好きなりんごさんのために、次の問題を解いてください。 N個の正整数からなる数列Aが与えられるので、以下の条件をすべて満たす整数の組(i,j)の個数を求めてください。 < 制約 入力は全て整数 考えたこと (i,j) = (1,3),(1,4…

AtCoder Beginner Contest 201 C - Secret Number

問題 問題文へ 高橋くんは、暗証番号を忘れてしまいました。暗証番号は0から9までの数字のみからなる4桁の文字列で、0から始まる場合もあります。 0から9までの各数字について、高橋くんは以下のように記憶しています。彼の記憶は長さ10の文字列によって表さ…

AtCoder Beginner Contest 196 C - Doubled

問題 問題文へ 整数Nが与えられます。 以下の条件を満たす1以上N以下の整数xは何個あるでしょうか? * xの十進表記(先頭に0を付けない)は偶数桁であり、その前半と後半は文字列として等しい。 制約 Nは整数 考えたこと 前半と後半にわけてそれぞれ作ってみ…

キャディプログラミングコンテスト2021(AtCoder Beginner Contest 193) C - Unexpressed

問題 問題文へ 整数Nが与えられます。1以上N以下の整数のうち、2以上の整数a,bを用いてと表せないものはいくつあるでしょうか? 制約 Nは整数 考えたこと bは2以上なので、まで調べればよいです。 コード #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace s</bits/stdc++.h>…

SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) C - Kaprekar Number

問題 問題文へ 0以上の整数xに対して、を次のように定めます。 = xを10進法で表したときの各桁の数字を大きい順に並び替えてできる整数 = xを10進法で表したときの各桁の数字を小さい順に並び替えてできる整数 整数N,Kが与えられるので、で定まる数列のを求…

AtCoder Beginner Contest 188 C - ABC Tournament

問題 問題文へ 選手1から選手までの人の選手がトーナメント形式のプログラミング対決をします。 選手iのレートはです。どの2人の選手のレートも異なり、2人の選手が対戦すると常にレートが高いほうが勝ちます。 トーナメント票は完全二分木の形をしています…

AtCoder Beginner Contest 187 D - Choose Me

問題 問題文へ N個の町があり、i番目の町には青木派の有権者が人、高橋派の有権者が人います。他に有権者はいません。 高橋氏は、それぞれの町で演説を行うことができます。 高橋氏がある町で演説を行った場合、その町の高橋派も青木派も全員高橋氏に投票し…

AtCoder Beginner Contest 187 C - 1-SAT

問題 問題文へ N個の文字列が与えられます。各文字列は、英小文字からなる空でない文字列の先頭に!を0文字か1文字付加したものです。 文字列Tは先頭に!を0文字付加しても1文字付加してものいずれかに一致するとき、不満な文字列といいます。 不満な文字列が…

AtCoder Beginner Contest 186 C - Unlucky 7

問題 問題文へ 1以上N以下の整数のうち、10進法で表しても8進法で表しても7を含まないような数はいくつありますか? 制約 Nは整数である。 考えたこと 制約より、までならばすべてを確認しても間に合うと判断しました。8進法への変換方法は検索しました。 コ…

AtCoder Regular Contest 109 B - log

問題 問題文へ 長さ1からnまでのn種類の丸太が1本ずつほしいです。長さ1からn+1までn+1種類の丸太が1本ずつ販売されています。 買った丸太を切断することにコストはかかりません。丸太の値段は1本1円です。必要な最小の金額を求めてください。 制約 考えたこ…

AtCoder Regular Contest 109 A - Hands

問題 問題文へ 100階建ての建物A,Bがあります。i=1,...,100について、建物Aのi階とBのi階は廊下で繋がれています。また、i=1,...,90について、建物Aのi+1階とBのi階は廊下で繋がれています。どの廊下も双方向に通行可能で、移動にはx分かかります。また、A,B…

AtCoder Regular Contest 108 B - Abbreviate Fox

問題 問題文へ 長さNの英小文字のみからなる文字列sが与えられます。 sからfoxを1つ選んで除いて間を詰める操作を、可能な限り続けます。 操作ができなくなった時点のsの長さを出力してください。 制約 sは英小文字のみからなる長さNの文字列 考えたこと fof…

AtCoder Regular Contest 057 A - 2兆円

問題 問題文へ 2兆円を目指します。初日はA円です。翌日は当日から1+K*当日の所持金分増えます。 何日かかりますか? 制約 入力はすべて整数である 考えたこと 指数関数的に増えていくので操作をシミュレートしても間に合うと思います。指数関数的の使い方が…

AtCoder Regular Contest 007 B - 迷子のCDケース

問題 問題文へ CDケースをN枚、CDをN+1枚持っています。CDは0からNの連番がついていて、0がプレイヤーに入っていてケースはありません。他のCDは同じ番号のケースに入っています。 CDをM枚交換したリストが与えられます。最後のCDケースの状態を出力します。…

AtCoder Regular Contest 016 B - 音楽ゲーム

問題 問題文へ N行の譜面が与えられます。譜面は9個の文字列です。xならばボタンを押す。oならばボタンを押し続けます。 何回ボタンを押したでしょうか? 制約 考えたこと 1行ずつ確認します。xであれば数えます。oの場合、前の行がo以外ならば数えます。1行…

AtCoder Beginner Contest 064 C - Colorful Leaderboard

問題 問題文へ N人のAtCoderのレートが与えられます。レートごとに色を与えます。最小で何色、最大で何色必要かを求めます。 制約 考えたこと レート3200以上は自由に色を選べるため、処理を分けます。 レート1~3199は400で割れば0~7になるため、8個の配列に…

AtCoder Beginner Contest 183 C - Travel

問題 問題文へ N個の都市があります。各都市間の移動時間が与えられます。 都市1を出発し、すべての都市をちょうど1度ずつ訪問して都市1へ戻る経路のうち、移動時間の合計がちょうどKになるものの個数を答えてください。 制約 入力はすべて整数 考えたこと …

AtCoder Beginner Contest 022 B - Bumble Bee

問題 問題文へ N個の花があります。i番目に訪れた花はです。i>jかつである花の個数を求めます。 制約 考えたこと 1番目から順番に、花の種類であるの値を補完するとともに、すでに保管しているかを調べます。 コード #define _GIBCXX_DEBUG #include <bits/stdc++.h> using </bits/stdc++.h>…

AtCoder Beginner Contest 037 C - 総和

問題 問題文へ 長さNの数列{}と1以上N以下の整数が与えられます。この数列には長さKの連続する部分がN-K+1個あります。これらのそれぞれ部分列に含まれる値の合計の総和を求めてください。 制約 は整数である。 考えたこと すべてのパターンを逐一足し算した…

AtCoder Regular Contest 059 C - いっしょ

問題 問題文へ 与えられたN個の整数を、書き換えてすべて同じ整数にします。1つの整数に対して、次の操作を一度だけ行えます。 整数をxを整数yに書き換える時、のコストがかかります。 すべて同じ整数にするための必要な最小のコストを求めます。 制約 考え…

AtCoder Beginner Contest 181 D - Hachi

問題 問題文へ 1から9の数字のみからなる文字列が与えられます。文字列を並び替えて8の倍数が作れますか? 制約 1 |S| 2 × 考えたこと 8の倍数は下3桁が8の倍数かで判定できます。1000は8の倍数であるためです。 制約から0が使われていません。 今回はC問題…

AtCoder Beginner Contest 181 C - Collinearity

問題 問題文へ N個の点の中から、3点を選んで同一直線上にあるか調べてください。 制約 入力は整数 3 N , i jならば 考えたこと 恥ずかしながら、3点が同一直線上にあるかの判定は検索しました。 3点を選ぶ組み合わせは、それほど多くないのですべて調べれば…

AtCoder Beginner Contest 047 C - 一次元リバーシ

問題 問題文へ BかWの並んだ文字列が与えられます。 オセロの要領で先頭か末尾に文字をつけたして、すべて同じ文字にします。 最小で何文字付け加えればよいでしょうか。 制約 1 |S| Sに含まれる文字は'B'または'W'のいずれかである 考えたこと 先頭の文字を…

CODE FESTIVAL 2014 決勝 C - N進数

問題 問題文へ 10以上の整数Nで、N進数でNとなる数字をf(N)とします。 f(23)は、2*23+3=49 この49にあたるのが、入力Aです。10以上の整数からf(k)となるkを出力します。kが存在しない場合は-1を出力します。 制約 1 A 考えたこと Aが最大値でも、kは10000な…

AtCoder Regular Contest 051 A - 塗り絵

問題 問題文へ 中心()半径rの赤い円と、横の辺が縦の辺がの青い四角形があります。重なった部分は紫色になります。 赤い部分があれば1行目にYESで無ければNO、青い部分があれば2行目にYES無ければNOを出力します。 制約 -100 100 -100 x_2 < x_3 100 -100…

AtCoder Grand Contest 011 A - Airport Bus

問題について考えたこと 問題文へ N人を、定員Cのバスに乗せます。Tiに到着し、K以内に乗せないといけません。 到着時間Tiはサンプルから、昇順に与えられないことがわかるのでソートしました。 最初に到着した人を乗せ、K以内に到着した人を定員Cまで乗せま…

AtCoder Regular Contest 106 A - 106

問題について考えたこと 問題文へ 3+5=Nをを満たす正の整数の組(A,B)を求めます。 A、B共に正の整数であることから、0を含みません。累乗なのですべてを確認しても実効時間制限に間に合うと判断しました。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespac</bits/stdc++.h>…

AtCoder Regular Contest 054 A - 動く歩道

問題について考えたこと 問題文へ 時計回りと反時計回りの両方を計算して、比較することにしました。 動く歩道なので、高橋君の移動速度YがXを上回らないと反時計回りはできません。 移動距離もSとDの大小関係と移動方向で計算しました。 #define _GIBCXX_DE…

AtCoder Grand Contest 008 A - Simple Calculator

問題について考えたこと 問題文へ 数直線上の、xとyの位置で分岐して処理をしたました。 xは正の方向にしか進めません。解説のようにするのが正しいです。 #define _GIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (n)</bits/stdc++.h>…