結果

問題 No.197 手品
ユーザー mai
提出日時 2017-05-21 13:48:52
言語 Ruby
(3.4.1)
結果
AC  
実行時間 95 ms / 1,000 ms
コード長 808 bytes
コンパイル時間 42 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-07-20 03:52:18
合計ジャッジ時間 5,619 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 43
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def move(a)
    [[a[0],a[2],a[1]],[a[1],a[0],a[2]]]
end

def guchoku(n,cur,fin)
    return cur == fin if n == 0
    move(cur).each{|nxt|
        return true if guchoku(n-1,nxt,fin)
    }
    return false
end

start = gets.chomp.chars.to_a
n = gets.to_i
final = gets.chomp.chars.to_a

if n < 8
    puts guchoku(n,start,final) ? "FAILURE" : "SUCCESS"
else
    if n.odd?
        [[0,1,2],[2,0,1],[1,2,0]].each{|swp|
            if [start[swp[0]],start[swp[1]],start[swp[2]]] == final
                puts "FAILURE" ; exit
            end
        }
        puts "SUCCESS" ; exit
    else
        [[0,2,1],[2,1,0],[1,0,2]].each{|swp|
            if [start[swp[0]],start[swp[1]],start[swp[2]]] == final
                puts "FAILURE" ; exit
            end
        }
        puts "SUCCESS" ; exit
    end
    
end
0