背景
- 競技プログラミング(AtCoder)の問題を解いていたところ、インタラクティブな問題への回答に詰まったので調べたことをまとめます。
- インタラクティブな問題例
結論
# NG
puts 'answer1'
puts 'answer2'
puts 'answer3'
# OK
puts 'answer1'
$stdout.flush
puts 'answer2'
$stdout.flush
puts 'answer3'
$stdout.flush
# もしくは
$stdout.sync = true
puts 'answer1'
puts 'answer2'
puts 'answer3'
-
puts
だけでは不十分で、puts
の後に$stdout.flush
を呼び出す必要がありました。