Xenous の精進記録

AtCoder関連他、学習したことの記録です。

ABC217 参加記録

5完0ペナ 66分でした A - Lexicographic Order 辞書順での比較は python では <、 > でできます。 単純に比較して答えとします。 S, T = input().split() if S < T: print('Yes') else: print('No') B - AtCoder Quiz 集合として持っておき、同じものを除い…

ABC216 参加記録

5完1ペナ 92分でした A - Signed Difficulty . で分離して取得するのが簡単です。 また、小数 で必ず小数部分の があるので例外処理など書かずに安心して取得できます。 出力に文字( - や + )を含める必要があるので、 は文字列として扱います。 X, Y = ma…

ABC215 参加記録

4完1ペナ 39分でした A - Your First Judge 完全一致というところに気をつけて実装します。python では == で良いです。 S = input() if S == 'Hello,World!': print('AC') else: print('WA') B - log2(N) 問題タイトルは計算量ですね。 であっても、 側の …

ABC214 参加記録

4完0ペナ 33分でした 最近全く精進できていませんでしたが結果オーライでよかったです。 A - New Generation ABC 新しい問題形式にちなんだ内容でしたね。記載通りのルールに従って実装します。 N = int(input()) if N <= 125: print(4) elif N <= 211: prin…

バーチャル参加 ABC127

4完0ペナ 25分でした A - Ferris Wheel 問題文に記載がある通りに実装します。 A, B = map(int, input().split()) if 6 <= A <= 12: print(B//2) elif A <= 5: print(0) else: print(B) B - Algae が与えられているので、そこから定義通り順に計算することが…

ABC211 参加記録

4完0ペナ 33分でした A - Blood Pressure 式が与えられているのでその通りに実装しました。誤差は生じても小さいので気にしなくて良いです。 A, B = map(int, input().split()) print((A-B)/3+B) B - Cycle Hit やり方はいくつかあると思いますが、問題文中…

ABC210 参加記録

3完0ペナ 10分でした A - Cabbages 個までは 円、それ以降は 円です。 のときは 円とかけます。そうでない時は単純に 円です。 N, A, X, Y = map(int, input().split()) if N <= A: print(X*N) else: print(X*A + Y*(N-A)) B - Bouzu Mekuri 実際に順に手札…

ABC209 参加記録

4完1ペナ 22分でした A - Counting のとき、答えは 個です。問題文の制約を見ると の場合も普通にあるのでそのときだけ気をつけます。(ここで 1ペナもらいました。勿体無い。。) A, B = map(int, input().split()) if A <= B: print(B-A+1) else: print(0)…

ABC208 参加記録

3完0ペナ 25分でした A - Rolling Dice 最も小さい数 1 で合計した場合と、最も大きい数 6 で合計した場合を考えれば良さそうです。その間の数は 1 から 6 を自由に使えるのでいくらでも作れます。 よって、 が成り立てば Yes、そうでないなら No です。 A, …

ABC207 参加記録

3完0ペナ 22分でした また3完だ... と思ったら DEFが最高に難しい回だったので仕方がない感じでした。 A - Repression 探索させても良いですし、ソートして大きいもの2つを取る、でも良いと思います。下記の実装は後者です。 X = list(map(int, input().spli…

バーチャル参加 ABC126

全完1ペナ 65分でした A - Changing a Character 小文字に置き換えるのは python であれば s を文字列型として s.lower() でできます。 該当箇所のみ lower を使って、それ以外はそのまま表示させるようにします。 N, K = map(int, input().split()) S = inp…

ABC206 参加記録

3完0ペナ 8分でした Dに関してはサンプルの値に引っ張られすぎて、正しい考察ができていなかったのが反省です。 E問題は AND 条件を分割して考えることを意識しようと思います。 A - Maxi-Buying 円に 1.08 倍して小数点以下を切り捨てます。その値と 206 を…

ARC122 参加記録

1完(C問題)2ペナ 130分でした A - Many Formulae 各 について、マイナスの個数がそれぞれわかれば良さそうです。 DPplus、DPminus を以下のように定めます。 DPplus[i] : 番目までで、 番目がプラスで終わるようなプラスマイナスの並び方の総数 DPminus[i] :…

ABC204 参加記録

3完1ペナ 24分でした A - Rock-paper-scissors じゃんけんの値を調べて、同じならあいこを出し、異なるなら残り一つを出します。 x, y = map(int, input().split()) if x == y: print(x) else: print(3-x-y) B - Nuts 木の実を一つずつ確認して、問題文の通…

ABC203 参加記録

3完0ペナ 97分でした E問題解けたと思いましたが、、TLE で3完になりました。しばらく一度に提出するのを控えようと思います。 A - Chinchirorin if 文を使って条件を列挙し、問題文の通りに判定します。 a, b, c = map(int, input().split()) if a == b: pr…

ARC121 参加記録

コンテストから時間あけてしまいました。 1完 95分でした A - 2nd Greatest Distance 40分ごろに提出できそうでしたが、だいぶ遅かったため B問題を解いたタイミングで出すようにしました。(失敗しましたが...) 個の点があり、点 の距離が で定められていま…

ABC202 参加記録

4完0ペナ 56分でした A - Three Dice サイコロの反対の値は、出た目を とおくと、 で表せます。 あとは加算して答えです。 a, b, c = map(int, input().split()) a = 7-a; b = 7-b; c = 7-c print(a+b+c) B - 180° 180度回転で行わないといけない操作が問題…

AtCoder 水色になりました

AtCoder 水色になりました。 ということで、簡単に振り返りで、モチベーションについてと、精進してきたことを書き残しておきます。 精進部分については緑や水色を目指す方の参考になれば幸いです。 まずは簡単な自己紹介です。 社会人です。 修士卒です。一…

ABC201 参加記録

4完2ペナ 80分でした A - Tiny Arithmetic Sequence 数列は増加列でも減少列でも良いので、ソートして差分が等しければ作れると判断できます。 B - Do you know the second highest mountain? python では、列を指定してソートできるので、それを使います。 …

ARC118 参加記録

ACの2完0ペナ 79分でした A - Tax Included Price 最初からなかなかハードな問題だと思いました。 式から で求められそうな感じはしますが、わからなかったので実験しました。具体的には、実際に消費税 を固定して 円から順番に求めていき、スキップされたも…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” 参加記録

A, B, D の3完0ペナ 40分でした A - UFO襲来 長さが で固定のため、単純に調べれば OK です。 S = input(); cnt = 0 for i in range(len(S)): cnt += S[i:i+4] == 'ZONe' print(cnt) B - 友好の印 本番では切片の二分探索で解きました。 今考えてみると、各…

ABC199 参加記録

3完0ペナ 26分でした DかE解いたら出そうと思ったことで提出が遅れました。。 A - Square Inequality 問題文の通り実装します。 A, B, C = map(int, input().split()) if A ** 2 + B ** 2 < C**2: print('Yes') else: print('No') B - Intersection 全ての …

第二回日本最強プログラマー学生選手権 参加記録

4完1ペナ 32分でした A - Competition 数式で解いてで求めることが可能ですが、コンテスト中は混乱していて、販売価格の二分探索をしました。 販売価格を としたとき、 より、 が成り立つ最大の非負整数を求めれば良いです。 B - Xor of Sequences 集合で言…

バーチャル参加 ABC001

4完2ペナ 81分でした アルゴリズムというよりゴリゴリの実装問題ですね。意外と実案件ではこのようなデータの整形に出くわす場面が多く、なんだかんだこういう問題も役に立つと思います。 A - 積雪深差 入力を受け取って引き算して返します。 B - 視程の通報…

ABC198 参加記録

4完3ペナ 56分でした A - Div お菓子を1つ以上分けるパターンを考えてみると、例えば のときは、3個と1個、2個と2個、1個と3個という分け方の 通りがあり、他の でも試すと、結局 通りあることがわかります。 B - Palindrome with leading zeros 0 をつけて…

ARC116 参加記録

1完13分でした。 B問題高速化できず。。 から落とすことができませんでした。 A - Odd vs Even 愚直に思いつくのは、各ケースでの整数 の約数を求め、個数を数え上げることですが、 と大きく、列挙が間に合いません。 そこで、 の正の奇数の約数と正の偶数の…

ABC197 参加記録

4完0ペナ 45分でした E 解けなかったのが惜しいですね。。 A - Rotate 3文字固定なので、入力で受け取った文字を求められた順で直接出力します。 S = input() print(S[1]+S[2]+S[0]) B - Visibility 与えられた点から上下左右それぞれ外周か # にぶつかるま…

ARC115 参加記録

3完0ペナ 67分でした。 体感的には B < C < A <<< D でした。 A - Two Choices 最初は の制約を見て、正解列を bit 全探索して固定させ、各生徒の正解数をチェックするのかと思いましたが、計算量が となり間に合いません。 他の解き方を考えようとしました…

ABC196 参加記録

3完2ペナ 25分でした A - Difference Max 与えられた と の範囲で を計算する全探索を行って、その最大値が答えです。 B - Round Down 文字列で入力を受け取ります。 python の場合, string.find('.') で、小数点が含まれていればその位置を、含まれていない…