結果
| 問題 | No.8126 Brainfxxk easy |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-07-27 10:14:32 |
| 言語 | Ruby (4.0.2) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,386 bytes |
| 記録 | |
| コンパイル時間 | 14 ms |
| コンパイル使用メモリ | 9,088 KB |
| 実行使用メモリ | 14,592 KB |
| 最終ジャッジ日時 | 2026-07-27 10:14:37 |
| 合計ジャッジ時間 | 1,720 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 1 |
| other | AC * 5 WA * 4 |
コンパイルメッセージ
Syntax OK
ソースコード
#!/usr/bin/ruby
class BF
def initialize(s,n=99999)
@inp=s
@buffer=[0]*n
@ptr=0
@inpptr=0
@inst=0
@n=n
end
attr_reader :buffer
def execute(s)
i=0
while i<s.size
if s[i]=='>'
@ptr+=1;@inst+=1
if @ptr<0 || @n<=@ptr
raise
end
elsif s[i]=='<'
@ptr-=1;@inst+=1
if @ptr<0 || @n<=@ptr
raise
end
elsif s[i]=='+'
#@buffer[@ptr]=(@buffer[@ptr]+1)%256;@inst+=1
@buffer[@ptr]=(@buffer[@ptr]+1)%256;@inst+=1
elsif s[i]=='-'
#@buffer[@ptr]=(@buffer[@ptr]-1)%256;@inst+=1
@buffer[@ptr]=(@buffer[@ptr]-1)%256;@inst+=1
elsif s[i]=='.'
@inst+=1
if @inst>100000
raise
end
print(@buffer[@ptr].chr)
elsif s[i]==','
@inst+=1
if @inst>100000
raise
end
@buffer[@ptr]=@inp[@inpptr].ord;@inpptr+=1
elsif s[i]=='['
@inst+=1
if @buffer[@ptr]!=0
execute(s[i+1..-1])
end
marker=1
while marker>0
if s[i+1]=='['
marker+=1
elsif s[i+1]==']'
marker-=1
end
i+=1
end
elsif s[i]==']'
@inst+=1
if @buffer[@ptr]!=0
@inst+=1
i=-1
else
return
end
end
i+=1
if @inst>100000
raise
end
end
end
end
# also see hackerrank/brainf-k-interpreter-fp.rb
n=gets.to_i
bf=BF.new('', n)
begin
bf.execute(gets)
puts bf.buffer*' '
rescue
# puts 'PROCESS TIME OUT. KILLED!!!'
puts :error
end