結果
| 問題 | No.402 最も海から遠い場所 |
| コンテスト | |
| ユーザー |
yoza
|
| 提出日時 | 2016-07-23 00:32:21 |
| 言語 | Go (1.23.4) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 727 bytes |
| コンパイル時間 | 15,478 ms |
| コンパイル使用メモリ | 225,536 KB |
| 実行使用メモリ | 62,380 KB |
| 最終ジャッジ日時 | 2024-11-06 12:25:36 |
| 合計ジャッジ時間 | 20,964 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 14 TLE * 1 -- * 4 |
ソースコード
package main
import (
"fmt"
"math"
)
func main() {
var h, w int
fmt.Scanf("%d %d", &h, &w)
dp := [][]int{}
for i := 0; i <= h; i++ {
dp = append(dp, make([]int, w+1))
}
max := 0
for y := 1; y <= h; y++ {
var row string
fmt.Scanf("%s", &row)
for x := 1; x <= w; x++ {
if row[x-1:x] == "." {
continue
}
dp[y][x] = minInt(dp[y-1][x-1], dp[y-1][x], dp[y][x-1]) + 1
max = maxInt(max, dp[y][x])
}
}
fmt.Println((max + 1) / 2)
}
func maxInt(list ...int) int {
max := int(math.MinInt64)
for _, i := range list {
if i > max {
max = i
}
}
return max
}
func minInt(list ...int) int {
min := int(math.MaxInt64)
for _, i := range list {
if i < min {
min = i
}
}
return min
}
yoza