結果
問題 |
No.2247 01 ZigZag
|
ユーザー |
|
提出日時 | 2023-03-17 22:09:41 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 881 bytes |
コンパイル時間 | 44 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,672 KB |
最終ジャッジ日時 | 2024-09-18 11:13:21 |
合計ジャッジ時間 | 5,954 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 42 WA * 8 |
コンパイルメッセージ
Syntax OK
ソースコード
def lscan; gets.chomp.split.map(&:to_i); end def solve(n, m, k) if n == 0 return '-1' if k > 0 return '1'*m end if m == 0 return '-1' if k > 0 return '0'*n end # 10001 > 00110 # 10101 k=4 # 01010 k=4 # 0010110 k=4 if k.odd? c = [n,m].min return '-1' if c*2 < k+1 # mid = '01'*c n -= c m -= c return '0'*n + '01'*c + '1'*m end if k.even? if n >= k/2+1 && m >= k/2 # 0010110 c = k/2 # mid = '01'*c n -= c m -= c # tail = '0' n -= 1 return '0'*n + '01'*c + '1'*m + '0' end if n >= k/2 && m >= k/2+1 # 10-0101 c = k/2 # mid = '01'*c n -= c m -= c # head = '1' m -= 1 return '1' + '0'*n + '01'*c + '1'*m end end '-1' end while line = gets puts solve(*line.chomp.split.map(&:to_i)) end