結果
問題 |
No.197 手品
|
ユーザー |
|
提出日時 | 2016-08-05 16:26:12 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 92 ms / 1,000 ms |
コード長 | 774 bytes |
コンパイル時間 | 50 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-07-20 03:49:05 |
合計ジャッジ時間 | 5,541 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
コンパイルメッセージ
Syntax OK
ソースコード
class Calc0197 def initialize(args) args = args.map { |l| l.chomp.split(/\s+/) } @before = args.shift.first @n = args.shift.first.to_i @after = args.shift.first end def calc cb = @before.split(//).map.with_index { |c, i| c == 'o' ? i : nil }.compact ca = @after.split(//).map.with_index { |c, i| c == 'o' ? i : nil }.compact if cb.size >= 2 cb = [0, 1, 2] - cb ca = [0, 1, 2] - ca end cb.size != ca.size || @n == 0 && cb != ca || cb.size != 0 && check(cb.first, ca.first) end def check(cb, ca) @n == 1 && ( [0, 2].include?(cb) && cb != ca && ca != 1 || cb == 1 && ca == 1 ) end def run calc ? 'SUCCESS' : 'FAILURE' end end puts Calc0197.new(STDIN.readlines).run if __FILE__ == $0