結果

問題 No.13 囲みたい!
ユーザー 6soukiti296soukiti29
提出日時 2017-07-23 07:27:05
言語 Nim
(2.0.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,002 bytes
コンパイル時間 827 ms
コンパイル使用メモリ 64,852 KB
最終ジャッジ日時 2024-11-15 04:45:45
合計ジャッジ時間 1,208 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
/home/judge/data/code/Main.nim(10, 29) Error: type mismatch: got 'seq[int]' for 'map(split(readLine(stdin), {' ', '\t', '\v', '\r', '\n', '\f'}, -1), parseInt)' but expected 'tuple'

ソースコード

diff #

import sequtils,strutils
var
    W,H : int
    flag : array[0..101,array[0..101,bool]]
    stage : array[0..101,array[0..101,int]]
    line : seq[int]
    D = [[1,0],[0,1],[-1,0],[0,-1]]
    ans : bool
    x,y,cnt : int
(W,H) = stdin.readline.split.map(parseInt)
for h in 1..H:
    line = stdin.readline.split.map(parseInt)
    for i,l in line:
        stage[h][i + 1] = l

proc tansaku(a,b : int)=
    if ((a,b) == (y,x) and cnt > 2) or ans == true:
        ans = true
        return
    for d in D:
        if (flag[a + d[0]][b + d[1]] == false and
            stage[a + d[0]][b + d[1]] == stage[a][b]):
            flag[a + d[0]][b + d[1]] = true
            cnt += 1
            tansaku(a + d[0],b + d[1])
            cnt -= 1
            flag[a + d[0]][b + d[1]] = false

block A:
    for i in 1..H:
        for j in 1..W:
            (y,x) = (i,j)
            cnt = 0
            tansaku(i,j)
            if ans:
                break A
if ans:
    echo "possible"
else:
    echo "impossible"



0