Flying Cat Penguin

ゆるゆる仕事、ソフトウェアテスティング関連のことについて綴ります。

AtCoder 修行日記#49

49日目
ABCのB問題を実施中。

勉強用のコンテンツはここから。
https://kenkoooo.com/atcoder/#/table/

進捗と一言感想

[B問題] 1問(残り6問)

ABC057:Checkpoints

考え方はあっていたのですが、最小の順番を出すところで間違えてしまっていました。
なんでも辞書型に頼る傾向が出てしまいました…順番が決まっているならリストが最適ですね。

最初のコード

n, m = map(int, input().split()) 
ab = []
for i in range(n):
  a, b = map(int, input().split()) 
  ab.append([a,b])

cd = []  
for i in range(n):
  c, d = map(int, input().split()) 
  cd.append([c,d])

d = {}
for i in range(len(ab)):
  for j in range(len(cd)):
    d[j+1] = abs(ab[i][0] - cd[j][0]) + abs(ab[i][1] - cd[j][1])
  print(min(d, key=d.get))

下記を参考に変更
Submission #15560957 - AtCoder Beginner Contest 057

n, m = map(int, input().split()) 

ab = [list(map(int,input().split()))for _ in range(n)]
cd = [list(map(int,input().split()))for _ in range(m)] 

for a, b in ab:
  distance = [abs(a-c) + abs(b-d) for c,d in cd]
  print(distance.index(min(distance))+1)

[C問題] 0問(残り156問)

今日はなし。

目標
  • まず、今年中に茶色コーダー
学習方針

以上。