結果
| 問題 | No.707 書道 | 
| コンテスト | |
| ユーザー |  k0jump | 
| 提出日時 | 2018-07-03 01:24:21 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 192 ms / 2,000 ms | 
| コード長 | 643 bytes | 
| コンパイル時間 | 312 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 11,008 KB | 
| 最終ジャッジ日時 | 2024-07-01 01:51:11 | 
| 合計ジャッジ時間 | 1,497 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 6 | 
ソースコード
import math
H,W=map(int,input().split())
papers=[input() for _ in range(H)]
blacks = []
for x in range(H):
    for y in range(W):
        if papers[x][y] == '1':
            blacks.append([x+1,y+1])
result = pow(10,18)
for c in [0,W+1]:
    for a in range(1,H+1):
        tmp = 0
        for i in range(len(blacks)):
            tmp += math.sqrt(pow(blacks[i][0]-a,2)+pow(blacks[i][1]-c,2))
        result = min(result,tmp)
for r in [0,H+1]:
    for b in range(1,W+1):
        tmp = 0
        for i in range(len(blacks)):
            tmp += math.sqrt(pow(blacks[i][0]-r,2)+pow(blacks[i][1]-b,2))
        result = min(result,tmp)
print(result)
            
            
            
        