結果
問題 | No.2247 01 ZigZag |
ユーザー |
|
提出日時 | 2023-03-21 13:50:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 82 ms / 2,000 ms |
コード長 | 843 bytes |
コンパイル時間 | 331 ms |
コンパイル使用メモリ | 81,924 KB |
実行使用メモリ | 89,676 KB |
最終ジャッジ日時 | 2024-09-18 16:16:23 |
合計ジャッジ時間 | 4,537 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 50 |
ソースコード
import syssys.setrecursionlimit(10**6)def ok(N, M, K):mn = 1 if M > 0 else 0mx = min(2*M, 2*N+1)return mn <= K <= mxdef s(N, M, K, L):if L == 0 and not ok(N, M, K):return Noneif L == 1 and not ok(M, N, K):return Nonearr = [L]for i in range(N+M):if N > 0 and ok(N-1, M, K - (L != 0)):arr.append(0)N -= 1K -= L != 0L = 0else:arr.append(1)M -= 1K -= L != 1L = 1return ''.join(map(str, arr))def main():N, M, K = map(int, input().split())A = Noneif N > 0:A = s(N-1, M, K, 0)if M > 0 and A is None:A = s(N, M-1, K, 1)if A is None:print(-1)else:print(A)if __name__ == '__main__':main()