A - Very Very Primitive Game
縦に長いんじゃ。冗長に書きすぎてしまった。。。
コード
a,b,c = list(map(int, input().split(' ')))
if a==b:
if c==0:
ans = 'Aoki'
else:
ans = 'Takahashi'
elif a>b:
ans = 'Takahashi'
else:
ans = 'Aoki'
print(ans)
B - Magic 3
必要十分に解けたと思う。
コード
n,s,d = list(map(int, input().split(' ')))
ans = 'No'
for i in range(n):
x,y = map(int, input().split(' '))
if x<s and y>d:
ans = 'Yes'
print(ans)
C - Bowls and Dishes
初めて自力でアルゴリズムらしいアルゴリズムを使えたと思う。
条件と選択肢のリストは、
解説
みたいにちゃんと1行で書けるようになりたい。
itertools
はなあ……使えるようになれば簡潔に書けるんだろうけど、今の自分のレベルだと、まだ愚直に書いていった方がいいかなと思った。
コード
def main():
n,m = list(map(int, input().split(' ')))
ans = 0
# 条件をタプルのリストで持つ
cnds = []
for i in range(m):
cnds.append(tuple(map(int, input().split(' '))))
# ボールを入れる選択肢をタプルのリストで持つ
choice = []
k = int(input())
for i in range(k):
choice.append(tuple(map(int, input().split(' '))))
# ビットでボールの置き方の組合せを全探索
for i in range(2**k):
# ビット配列の作成
bi = format(i,'b')
bi = bi.zfill(k)
bi = list(map(int,list(bi)))
# 置いてある皿の番号のセット
s = set()
for j in range(k):
s.add(choice[j][bi[j]])
# 条件が揃っていればインクリメント
cnt = 0
for j in range(m):
if cnds[j][0] in s and cnds[j][1] in s:
cnt += 1
if ans < cnt:
ans = cnt
print(ans)
if __name__ == '__main__':
main()
感想
Kattsun44さんのAtCoder Beginner Contest 190での成績:4556位
— kattsun (@kattsun_dev) January 30, 2021
パフォーマンス:649相当
レーティング:133→193 (+60) :)
Highestを更新し、10 級になりました!#AtCoder #ABC190 https://t.co/iyrYkZuO6l
yattaa
計1時間でABC3問解け、D問題に (手も足も出なかったものの) 取り組めたので、着実にレベルアップはできていると思う。というか言い聞かせる。 茶色まであと半分のところまでこれた。