結果
問題 |
No.325 マンハッタン距離2
|
ユーザー |
|
提出日時 | 2015-12-19 06:13:33 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 92 ms / 1,000 ms |
コード長 | 348 bytes |
コンパイル時間 | 44 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-12-26 05:56:56 |
合計ジャッジ時間 | 3,244 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
コンパイルメッセージ
Syntax OK
ソースコード
x1,y1,x2,y2,d=gets.split.map(&:to_i) x1,x2=-x2,-x1 if x2<0 y1,y2=-y2,-y1 if y2<0 x1,x2,d=0,x2-x1,d-x1 if x1>0 y1,y2,d=0,y2-y1,d-y1 if y1>0 (p 0;exit)if d<0 r=[d,x2].min+[d,-x1].min+[d,y2].min+[d,-y1].min+1 [-x1,x2].product([-y1,y2]){|x,y| d0=[d-2,x+y-2].min r+=(d0+1)*(d0+2)/2 r-=(d0-x+1)*(d0-x+2)/2 if x-1<d0 r-=(d0-y+1)*(d0-y+2)/2 if y-1<d0 } p r