結果
| 問題 |
No.179 塗り分け
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-03-07 16:52:15 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,604 bytes |
| コンパイル時間 | 13,628 ms |
| コンパイル使用メモリ | 229,708 KB |
| 実行使用メモリ | 7,932 KB |
| 最終ジャッジ日時 | 2024-07-22 11:51:42 |
| 合計ジャッジ時間 | 15,507 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 35 WA * 5 |
ソースコード
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
var sc = bufio.NewScanner(os.Stdin)
var wr = bufio.NewWriter(os.Stdout)
func print(x ...interface{}) {
fmt.Fprintln(wr, x...)
}
func slice_conv(x []int, sep string) string {
ret := make([]string, len(x))
for i, v := range x {
ret[i] = strconv.Itoa(v)
}
return strings.Trim(strings.Join(ret, sep), "[]")
}
func nextString() string {
sc.Scan()
return sc.Text()
}
func nextInt() int {
sc.Scan()
i, err := strconv.Atoi(sc.Text())
if err != nil {
panic(err)
}
return i
}
func nextFloat() float64 {
sc.Scan()
i, err := strconv.ParseFloat(sc.Text(), 64)
if err != nil {
panic(err)
}
return i
}
func chmax(a *int, b int) {
if *a < b {
*a = b
}
}
func chmin(a *int, b int) {
if *a > b {
*a = b
}
}
type Pair struct {
f, s int
}
var (
H, W int
S []string
)
func solve(dy, dx int) bool {
used := make([][]bool, H)
for i := range used {
used[i] = make([]bool, W)
}
ok := false
for i := range S {
for j := range S[i] {
if S[i][j] == '#' && !used[i][j] {
if i+dy >= H || j+dx >= W {
return false
}
if S[i+dy][j+dx] == '#' && !used[i+dy][j+dx] {
used[i+dy][j+dx] = true
} else {
return false
}
ok = true
}
}
}
return ok
}
func main() {
defer wr.Flush()
sc.Split(bufio.ScanWords)
H, W = nextInt(), nextInt()
S = make([]string, H)
for i := range S {
S[i] = nextString()
}
for i := range S {
for j := range S[i] {
if i == 0 && j == 0 {
continue
}
if solve(i, j) {
print("YES")
return
}
}
}
print("NO")
}