1
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?

paizaラーニング問題集「【計算 1】マンハッタン距離」を解いてみた

Posted at

▼考え方

題意の通りコーディングしました。

▼コード

########## 処理0(準備) モジュールインポート,インプット,リスト定義 ###########

import math

P_x,P_y = map(int,input().split())

N = int(input())

d: ユークリッド距離,マンハッタン距離,地点の番号を格納するリスト
d = []

########## 処理1 ユークリッド距離,マンハッタン距離の計算 ###########

for i in range(N):
    
    x,y = map(int,input().split())
    
    d.append([math.sqrt((x - P_x)**2 + (y - P_y)**2),abs(x - P_x) + abs(y - P_y),i+1])

########## 処理2 地点Pからの距離が近い3地点の番号を出力する ###########

for i in range(2):

    # d_sorted: リストdを、ユークリッド距離あるいはマンハッタン距離でソートしたリスト
    d_sorted = sorted(d, key=lambda x:(x[i],x[2]))
    
    for j in range(3):
        print(d_sorted[j][2])
1
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
1
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?