結果

問題 No.179 塗り分け
コンテスト
ユーザー yoza
提出日時 2015-04-06 01:45:10
言語 Nim
(2.2.8)
コンパイル:
nim --nimcache=~ --hints:off -o:a.out -d:release cpp _filename_
実行:
./a.out
結果
RE  
実行時間 -
コード長 1,226 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,655 ms
コンパイル使用メモリ 69,344 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2026-03-18 10:41:40
合計ジャッジ時間 3,689 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 6
other AC * 4 WA * 2 RE * 34
権限があれば一括ダウンロードができます
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 28) Warning: imported and not used: 'algorithm' [UnusedImport]

ソースコード

diff #
raw source code

import strutils, sequtils, algorithm, math

proc solve(): string =
  var
    hw = readLine(stdin).split(' ').map(parseInt)
    board = newSeq[string](hw[0])
    tBoard = newSeq[string](hw[0])
    co: int
    # tmpCo: int
    flag = false

  for i in countup(0, hw[0] - 1):
    board[i] = readLine(stdin)
    co += board[i].count('#')

  if co == 0:
    return "NO"

  for hMove in countup(0, hw[0] - 1):
    for wMove in countup(-hw[1] + 1, hw[1] - 1):
      if hMove == 0 and wMove == 0:
        continue
      flag = false
      # tmpCo = 0
      for h in countup(0, hw[0] - 1):
        tBoard[h] = board[h]
      for h in countup(0, hw[0] - 1):
        if hMove + h >= hw[0]:
          break
        for w in countup(0, hw[1] - 1):
          if wMove + w >= hw[1] or wMove + w < 0:
            if tBoard[h][w] == '#':
              if tBoard[hMove + h][wMove + w] == '#':
                # tmpCo += 1
                tBoard[h][w] = 'R'
                tBoard[hMove + h][wMove + w] = 'B'
              else:
                flag = true
                break
          # else:
          #   flag = true
          #   break
        if flag:
          break
      if not flag:
        return "YES"
  return "NO"

echo(solve())
0