結果
| 問題 | No.179 塗り分け |
| コンテスト | |
| ユーザー |
tnoda_
|
| 提出日時 | 2015-04-07 19:59:41 |
| 言語 | Go1.4 (1.4.2) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,031 bytes |
| 記録 | |
| コンパイル時間 | 318 ms |
| コンパイル使用メモリ | 33,772 KB |
| 最終ジャッジ日時 | 2025-12-03 10:12:29 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 35 WA * 5 |
ソースコード
package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
var sc = bufio.NewScanner(os.Stdin)
func next() string {
sc.Split(bufio.ScanWords)
if !sc.Scan() {
panic("could not scan a word from the reader")
}
return sc.Text()
}
func nextInt() int {
i, e := strconv.Atoi(next())
if e != nil {
panic(e)
}
return i
}
func main() {
H, W := nextInt(), nextInt()
var board [110][110]bool
for i := 0; i < H; i++ {
row := next()
for j, r := range row {
if r == '#' {
board[i][j] = true
}
}
}
check := func(dh, dw int) bool {
var checked [110][110]bool
var count int
for h := 0; h < H; h++ {
for w := 0; w < W; w++ {
if !board[h][w] || checked[h][w] {
continue
}
if !board[h+dh][w+dw] {
return false
}
checked[h+dh][w+dw] = true
count++
}
}
return count > 0
}
for dh := 0; dh < H; dh++ {
for dw := 0; dw < W; dw++ {
if dh == 0 && dw == 0 {
continue
}
if check(dh, dw) {
fmt.Println("YES")
return
}
}
}
fmt.Println("NO")
}
tnoda_