結果
問題 | No.402 最も海から遠い場所 |
ユーザー |
![]() |
提出日時 | 2016-07-23 00:39:42 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 138 ms / 3,000 ms |
コード長 | 766 bytes |
コンパイル時間 | 13,691 ms |
コンパイル使用メモリ | 224,188 KB |
実行使用メモリ | 84,500 KB |
最終ジャッジ日時 | 2024-11-06 12:52:57 |
合計ジャッジ時間 | 14,911 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
package mainimport ("bufio""fmt""math""os")func main() {var h, w intfmt.Scanf("%d %d", &h, &w)dp := [][]int{}for i := 0; i <= h; i++ {dp = append(dp, make([]int, w+1))}max := 0sc := bufio.NewScanner(os.Stdin)for y := 1; y <= h; y++ {sc.Scan()row := sc.Text()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]) + 1max = 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}