LoginSignup
0
0

More than 1 year has passed since last update.

AtCoder参加記録No.5ーABC217

Posted at

ABC217

今回参加したABC217についての参加記録

2021年9月4日(土)のAtCoder Beginner Contest 217でした。

結果

A,B,C問題を正解
レート:49→72 (+23) Highest!
順位:5793/ 8543
時間: A問題 7:31 B問題 16:10 C問題 27:55
パフォーマンス:281

詳細

A問題

問題

提出コード(AC)

A問題_1.py
S,T =list(map(str,input().split()))
le=min(len(S),len(T))
A=[]
A.append(S)
A.append(T)
AN=sorted(A)

if AN[0]==S:
  print('Yes')
else:
  print('No')

詳細

B問題

問題

提出コード(AC)

B問題_1.py
l=[]

for i in range(3):
  row=input()
  l.append(row)

A=[['ABC',False],['ARC',False],['AGC',False],['AHC',False]]
for i in range(3):
  if l[i]=='ABC':
    A[0][1]=True
  elif l[i]=='ARC':
    A[1][1]=True
  elif l[i]=='AGC':
    A[2][1]=True
  elif l[i]=='AHC':
    A[3][1]=True
ans=0
for i in range(4):
  if A[i][1]:
    ans=ans
  else:
    ans=A[i][0]

print(ans)

詳細

C問題

問題
提出コード(AC)

C問題_1.py
N=int(input())
P=list(map(int,input().split()))
Q=[0]*N

for i in range(N):
  x=P[i]
  Q[x-1]=i+1

print(*Q)  

詳細

D問題

問題

提出コード1(TLE)

D問題_1.py
L,C=list(map(int,input().split()))

c=0
Q=[]
for i in range(C):  
  l=list(map(int,input().split()))
  if l[0]==1:
    c+=1
  Q.append(l)
V=[0,L]
ans=[]

for i in range(C):
  if Q[i][0]==1:
    V.append(Q[i][1])
    V.sort()
  else:
    for x in range(len(V)):
      if Q[i][1]>V[x]:
        an=V[x+1]-V[x]
    ans.append(an)

for i  in range(len(ans)):
  print(ans[i])

詳細

提出コード2(TLE)

D問題_2.py
L,C=list(map(int,input().split()))

c=0
Q=[]
for i in range(C):  
  l=list(map(int,input().split()))
  if l[0]==1:
    c+=1
  Q.append(l)
V=[0,L]
ans=[]

for i in range(C):
  if Q[i][0]==1:
    V.append(Q[i][1])
    V.sort()
  else:
    for x in range(len(V)):
      if Q[i][1]>V[x]:
        an=V[x+1]-V[x]
    ans.append(an)

for i  in range(len(ans)):
  print(ans[i])

詳細

振り返り、反省

前回の反省を生かしてA,B,C問題は丁寧に回答し一発ACを得ることができた

D問題は制限時間をオーバーしてしまい、正解できなかった
1回目と2回目の違いはPython3とPypy3で提出したらもしかしたら変わるかもしれないと思いあがいた結果である
計算量がかなり多くなっていることがわかる(V=len(V) O(C*VlogV*V) )

感想

A~Cまでとけたため自分の中ではそこそこの満足度がある

ただこれで満足しているようではいけないのでさらに解ける問題を増やしていきたい

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