結果
| 問題 |
No.1820 NandShift
|
| コンテスト | |
| ユーザー |
tamato
|
| 提出日時 | 2022-01-21 22:58:47 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,375 bytes |
| コンパイル時間 | 233 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 64,512 KB |
| 最終ジャッジ日時 | 2024-11-26 02:13:52 |
| 合計ジャッジ時間 | 2,926 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 4 WA * 26 |
ソースコード
mod = 1000000007
eps = 10**-9
def main():
import sys
input = sys.stdin.readline
def f1(s):
return s[1:] + "0"
def f2(s, t):
u = []
for ss, tt in zip(s, t):
if ss == tt == "0":
u.append("1")
else:
u.append("0")
return "".join(u)
N, M = map(int, input().split())
X = input().rstrip('\n')
L = 10 ** 5
Y = ["0" * M] * (L + 10)
ans = []
# make 1
ans.append((2, N+1, 0, 0))
Y[N+1] = f2(Y[0], Y[0])
ans.append((1, N+2, N+1))
Y[N+2] = f1(Y[N+1])
ans.append((2, N+3, N+2, 0))
Y[N+3] = f2(Y[N+2], Y[0])
ans.append((2, N+4, N+2, 0))
Y[N+4] = f2(Y[N+2], Y[0])
for i in range(M):
if X[i] == "1":
K = M - i
break
for k in range(K - 1):
ans.append((1, N + 4, N + 4))
Y[N+4] = f1(Y[N+4])
if X[M - K + k + 1] == "1":
ans.append((2, L, N+4, N+3))
Y[L] = f2(Y[N+4], Y[N+3])
ans.append((2, N+4, L, 0))
Y[N+4] = f2(Y[L], Y[0])
ans.append((2, L+1, N+4, 0))
Y[L+1] = f2(Y[N+4], Y[0])
ans.append((2, 0, L+1, L+2))
Y[0] = f2(Y[L+1], Y[L+2])
assert len(ans) <= 1000
print(len(ans))
for line in ans:
print(*line)
#print(X)
#print(Y[0])
if __name__ == '__main__':
main()
tamato