0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AtCoder ABC226 挑戦!(Python)

Last updated at Posted at 2021-11-07

ABC226、コンテスト8回目の挑戦です!
C問題が手も足も出ませんでした。。。解説を見ても何を言ってるのかまったくわからず、アルゴリズムの勉強が必要だと感じました。武器が足りない。

AtCoder Problemsを見ると、Difficulty=539となってて、今までのC問題が、300-400くらいだったのを考えると、やはり体感通り難しかった模様。(めちゃくちゃ難しいというレベルではないようだが) レートも、ABしか解いてないけど、20くらい上がってた。

ABC225A
X=input()
from decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN

print(Decimal(str(X)).quantize(Decimal('0'), rounding=ROUND_HALF_UP))

最初round()関数でやってたら、なぜかWA。
pythonのround()関数は、銀行丸めという方法なので、エラーが出た模様。

ABC226B
N=int(input())

L_list=[]

#文字列として、それぞれを格納する。
for i in range(N):
    a=input().strip()
    L_list.append(a)
# print(L_list)

#L_listの中に、何種類のユニークなリストがあるか。
print(len(set(L_list)))

数列をL_listにリストで格納して、set()でユニークな要素の数を出力。この辺は、これまでに類題解いてるのでパッと解けるようにはなった。

問題のC問題については、全く方針が浮かばず、途中であきらめた。
サンプルケース自体は、後ろから必要な技の時間を足していけば、答えは出るのだが、サンプルケース以外のケース、
例えば、技4つの場合で、
4
1 0
1 1 1
1 1 2
1 1 3

などの場合に、
4つ目の技の時間+3つ目の技の時間に加えて、
3つ目の習得に必要な技
→上記だと技2

さらに、技2には、技1 が必要、、、
と考えていくと、連鎖的に、同じような処理を何回もしないといけなくて、どうやって実現できるのかがわからなかった。

完全に敗北しました。わかりやすい解説を探して勉強します。。。

お疲れさまでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?