8
This commit is contained in:
parent
7e3af57f53
commit
41e7e08bc0
3 changed files with 687 additions and 0 deletions
44
8.py
Normal file
44
8.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
with open("8.txt") as f:
|
||||
ins = []
|
||||
for line in f:
|
||||
ins.append(line.strip())
|
||||
|
||||
def term(ins):
|
||||
f = set()
|
||||
f2 = set()
|
||||
acc = 0
|
||||
ip = 0
|
||||
while True:
|
||||
if ip >= len(ins):
|
||||
break
|
||||
i = ins[ip]
|
||||
if ip in f:
|
||||
if ip in f2:
|
||||
return None
|
||||
f2.add(ip)
|
||||
f.add(ip)
|
||||
# print(ip, i)
|
||||
c, v = i.split(" ")
|
||||
v = int(v)
|
||||
if c == "acc":
|
||||
acc += v
|
||||
elif c == "jmp":
|
||||
ip = ip + v - 1
|
||||
ip += 1
|
||||
return acc
|
||||
|
||||
for i in range(len(ins)):
|
||||
l = ins[i]
|
||||
if not (l.startswith("jmp") or l.startswith("nop")): continue
|
||||
orig = l
|
||||
if l.startswith("jmp"):
|
||||
new = l.replace("jmp", "nop")
|
||||
elif l.startswith("nop"):
|
||||
new = l.replace("nop", "jmp")
|
||||
ins[i] = new
|
||||
r = term(ins)
|
||||
if r is None:
|
||||
ins[i] = orig
|
||||
else:
|
||||
print(r)
|
||||
break
|
634
8.txt
Normal file
634
8.txt
Normal file
|
@ -0,0 +1,634 @@
|
|||
acc +15
|
||||
acc +2
|
||||
acc -14
|
||||
jmp +362
|
||||
acc +22
|
||||
nop +236
|
||||
jmp +474
|
||||
acc +10
|
||||
jmp +1
|
||||
acc +0
|
||||
jmp +236
|
||||
acc +10
|
||||
acc +14
|
||||
jmp +334
|
||||
acc +12
|
||||
acc -1
|
||||
jmp +478
|
||||
jmp +90
|
||||
jmp +208
|
||||
acc +49
|
||||
jmp +94
|
||||
acc +2
|
||||
acc -8
|
||||
jmp +375
|
||||
nop +21
|
||||
acc +0
|
||||
acc +10
|
||||
nop +25
|
||||
jmp +492
|
||||
nop +182
|
||||
acc +49
|
||||
acc -12
|
||||
jmp -14
|
||||
acc -16
|
||||
jmp +140
|
||||
acc -3
|
||||
acc -18
|
||||
acc +28
|
||||
acc -6
|
||||
jmp +558
|
||||
acc +2
|
||||
acc +27
|
||||
nop +438
|
||||
acc +41
|
||||
jmp +508
|
||||
acc +13
|
||||
jmp +117
|
||||
acc +21
|
||||
acc -13
|
||||
acc +34
|
||||
jmp +1
|
||||
jmp +1
|
||||
nop +451
|
||||
acc +28
|
||||
acc +31
|
||||
acc +31
|
||||
jmp +280
|
||||
acc +32
|
||||
acc +35
|
||||
acc -18
|
||||
jmp +509
|
||||
acc -15
|
||||
acc -8
|
||||
nop +288
|
||||
acc -16
|
||||
jmp +376
|
||||
acc -19
|
||||
acc -8
|
||||
acc +11
|
||||
acc +10
|
||||
jmp +50
|
||||
acc +19
|
||||
nop -58
|
||||
acc -9
|
||||
jmp +43
|
||||
acc +10
|
||||
acc +2
|
||||
nop -63
|
||||
jmp +280
|
||||
acc -7
|
||||
jmp +175
|
||||
jmp +69
|
||||
acc +16
|
||||
acc +9
|
||||
acc -2
|
||||
acc -5
|
||||
jmp +276
|
||||
nop +195
|
||||
acc +50
|
||||
acc -8
|
||||
jmp -55
|
||||
nop +1
|
||||
nop -78
|
||||
acc +31
|
||||
jmp +535
|
||||
acc +9
|
||||
acc +33
|
||||
acc +4
|
||||
acc +48
|
||||
jmp +8
|
||||
acc +30
|
||||
acc +42
|
||||
acc +18
|
||||
acc +37
|
||||
jmp -69
|
||||
nop +121
|
||||
jmp +44
|
||||
acc +3
|
||||
acc +33
|
||||
acc -6
|
||||
acc +37
|
||||
jmp +403
|
||||
acc -6
|
||||
jmp +245
|
||||
jmp -93
|
||||
acc +5
|
||||
jmp +406
|
||||
jmp -26
|
||||
nop -47
|
||||
jmp +239
|
||||
acc +7
|
||||
acc +31
|
||||
acc +14
|
||||
acc +0
|
||||
jmp +291
|
||||
acc +46
|
||||
jmp +394
|
||||
acc +44
|
||||
acc +36
|
||||
nop +45
|
||||
jmp +137
|
||||
acc -16
|
||||
acc +10
|
||||
acc -4
|
||||
acc +7
|
||||
jmp +76
|
||||
acc +24
|
||||
jmp +93
|
||||
acc +17
|
||||
acc +0
|
||||
acc +6
|
||||
acc +4
|
||||
jmp +385
|
||||
acc -8
|
||||
acc +49
|
||||
acc +28
|
||||
jmp +95
|
||||
nop +12
|
||||
acc +33
|
||||
jmp +153
|
||||
nop +254
|
||||
acc +18
|
||||
acc -16
|
||||
acc +50
|
||||
jmp +299
|
||||
acc +27
|
||||
acc +47
|
||||
acc -17
|
||||
jmp -15
|
||||
acc +35
|
||||
acc +14
|
||||
jmp +204
|
||||
jmp +93
|
||||
acc +46
|
||||
nop -5
|
||||
nop -158
|
||||
jmp +221
|
||||
jmp +321
|
||||
acc -2
|
||||
acc +49
|
||||
acc +3
|
||||
acc -17
|
||||
jmp -52
|
||||
jmp +7
|
||||
nop +52
|
||||
acc +25
|
||||
jmp +376
|
||||
acc -3
|
||||
nop -133
|
||||
jmp +32
|
||||
jmp +328
|
||||
nop +374
|
||||
acc +37
|
||||
acc +6
|
||||
jmp +92
|
||||
acc +47
|
||||
nop +394
|
||||
jmp -13
|
||||
jmp -170
|
||||
acc +9
|
||||
jmp -47
|
||||
acc -18
|
||||
acc +27
|
||||
jmp +1
|
||||
acc +3
|
||||
acc -5
|
||||
jmp +337
|
||||
acc +21
|
||||
jmp +364
|
||||
acc +24
|
||||
acc +43
|
||||
acc +50
|
||||
jmp +58
|
||||
jmp -18
|
||||
acc +30
|
||||
jmp +144
|
||||
nop +5
|
||||
acc +50
|
||||
nop +245
|
||||
nop +133
|
||||
jmp +270
|
||||
jmp -22
|
||||
nop -76
|
||||
jmp +398
|
||||
acc +40
|
||||
acc +30
|
||||
jmp +361
|
||||
acc +36
|
||||
acc +30
|
||||
jmp +392
|
||||
acc -17
|
||||
nop +71
|
||||
acc -12
|
||||
jmp +102
|
||||
acc +17
|
||||
jmp +283
|
||||
acc -16
|
||||
jmp +65
|
||||
nop -2
|
||||
jmp +149
|
||||
jmp -103
|
||||
jmp -179
|
||||
acc +46
|
||||
jmp +289
|
||||
acc +48
|
||||
jmp +114
|
||||
acc +13
|
||||
jmp +114
|
||||
nop +215
|
||||
nop -89
|
||||
jmp +337
|
||||
acc -2
|
||||
acc +2
|
||||
acc -7
|
||||
jmp -18
|
||||
jmp -51
|
||||
acc +30
|
||||
acc +43
|
||||
acc +28
|
||||
jmp -188
|
||||
acc +36
|
||||
acc +7
|
||||
acc -5
|
||||
acc +38
|
||||
jmp +88
|
||||
jmp +225
|
||||
acc -14
|
||||
acc -3
|
||||
acc -15
|
||||
jmp +66
|
||||
acc +7
|
||||
acc +43
|
||||
nop -210
|
||||
acc -9
|
||||
jmp +109
|
||||
acc -10
|
||||
jmp +242
|
||||
acc -5
|
||||
acc +15
|
||||
acc +8
|
||||
jmp +310
|
||||
acc +31
|
||||
acc -2
|
||||
acc +11
|
||||
acc -15
|
||||
jmp +103
|
||||
acc +32
|
||||
jmp -92
|
||||
acc -10
|
||||
acc +6
|
||||
acc -1
|
||||
jmp -131
|
||||
acc +43
|
||||
acc +30
|
||||
acc +13
|
||||
acc +33
|
||||
jmp +25
|
||||
acc +9
|
||||
acc -14
|
||||
acc +19
|
||||
acc +44
|
||||
jmp -50
|
||||
acc -8
|
||||
acc +9
|
||||
jmp +312
|
||||
jmp -96
|
||||
acc -3
|
||||
acc -3
|
||||
acc +24
|
||||
jmp +94
|
||||
acc -15
|
||||
jmp +61
|
||||
acc +19
|
||||
nop -89
|
||||
acc +24
|
||||
nop -94
|
||||
jmp +5
|
||||
acc -13
|
||||
acc +25
|
||||
acc +42
|
||||
jmp +1
|
||||
jmp +137
|
||||
acc +44
|
||||
acc +44
|
||||
acc +41
|
||||
jmp +152
|
||||
jmp +144
|
||||
acc -1
|
||||
nop +293
|
||||
jmp -120
|
||||
acc -17
|
||||
nop -171
|
||||
acc +27
|
||||
jmp -173
|
||||
jmp +231
|
||||
acc +3
|
||||
jmp +109
|
||||
acc +18
|
||||
acc +32
|
||||
acc -14
|
||||
acc -8
|
||||
jmp +177
|
||||
acc +28
|
||||
jmp -134
|
||||
nop +277
|
||||
jmp -124
|
||||
jmp +167
|
||||
nop +274
|
||||
acc +6
|
||||
acc +43
|
||||
acc +10
|
||||
jmp -320
|
||||
acc +28
|
||||
acc -9
|
||||
acc +22
|
||||
jmp -90
|
||||
jmp -203
|
||||
jmp -133
|
||||
jmp -6
|
||||
jmp -181
|
||||
jmp +170
|
||||
acc +40
|
||||
acc +5
|
||||
jmp -274
|
||||
acc +36
|
||||
acc +24
|
||||
nop +6
|
||||
jmp -339
|
||||
jmp -251
|
||||
acc +10
|
||||
acc +10
|
||||
jmp -347
|
||||
jmp +263
|
||||
acc +37
|
||||
jmp -201
|
||||
acc -11
|
||||
acc +42
|
||||
jmp +153
|
||||
nop -179
|
||||
acc -9
|
||||
jmp +8
|
||||
jmp -289
|
||||
jmp -25
|
||||
acc +45
|
||||
jmp -142
|
||||
acc +42
|
||||
acc -10
|
||||
jmp +83
|
||||
acc +43
|
||||
acc +3
|
||||
acc -6
|
||||
jmp -222
|
||||
acc +41
|
||||
acc +14
|
||||
acc +7
|
||||
acc +2
|
||||
jmp -35
|
||||
jmp +168
|
||||
acc +11
|
||||
acc +18
|
||||
acc +8
|
||||
acc -4
|
||||
jmp -203
|
||||
acc +44
|
||||
jmp +10
|
||||
nop -184
|
||||
acc +0
|
||||
jmp +91
|
||||
acc -5
|
||||
nop +226
|
||||
acc +46
|
||||
acc -10
|
||||
jmp -15
|
||||
jmp -321
|
||||
acc +0
|
||||
acc +33
|
||||
jmp +82
|
||||
jmp +1
|
||||
acc -12
|
||||
acc +30
|
||||
jmp +152
|
||||
acc +6
|
||||
jmp -208
|
||||
acc +43
|
||||
jmp +39
|
||||
acc +23
|
||||
acc +23
|
||||
acc +24
|
||||
acc +26
|
||||
jmp -390
|
||||
acc +15
|
||||
acc +3
|
||||
acc +14
|
||||
acc +46
|
||||
jmp -239
|
||||
acc -10
|
||||
acc +19
|
||||
jmp +167
|
||||
acc +46
|
||||
acc +0
|
||||
jmp -280
|
||||
acc -7
|
||||
jmp -107
|
||||
acc +13
|
||||
jmp -76
|
||||
acc +48
|
||||
jmp -65
|
||||
nop +23
|
||||
nop -89
|
||||
acc +47
|
||||
jmp -304
|
||||
acc -5
|
||||
jmp +1
|
||||
acc +50
|
||||
acc +37
|
||||
jmp -129
|
||||
acc +27
|
||||
jmp +1
|
||||
jmp -212
|
||||
acc +18
|
||||
acc +29
|
||||
acc +1
|
||||
jmp -74
|
||||
acc +24
|
||||
acc -12
|
||||
jmp -173
|
||||
acc -18
|
||||
acc -6
|
||||
nop -156
|
||||
jmp -309
|
||||
acc +46
|
||||
acc -13
|
||||
acc +41
|
||||
acc +11
|
||||
jmp -188
|
||||
acc +32
|
||||
jmp -190
|
||||
acc +31
|
||||
acc +30
|
||||
jmp -122
|
||||
acc -7
|
||||
jmp +37
|
||||
acc +2
|
||||
acc +16
|
||||
acc +45
|
||||
acc +44
|
||||
jmp -376
|
||||
acc +47
|
||||
jmp +1
|
||||
jmp -147
|
||||
acc +47
|
||||
acc -18
|
||||
acc -1
|
||||
acc +2
|
||||
jmp -152
|
||||
acc +12
|
||||
acc -8
|
||||
jmp +90
|
||||
nop +67
|
||||
acc +9
|
||||
jmp +1
|
||||
jmp -377
|
||||
jmp +1
|
||||
jmp -238
|
||||
jmp +1
|
||||
acc +47
|
||||
acc +7
|
||||
acc +31
|
||||
jmp -427
|
||||
acc +10
|
||||
acc +13
|
||||
nop +13
|
||||
jmp -8
|
||||
nop -292
|
||||
acc +11
|
||||
nop -203
|
||||
jmp -164
|
||||
jmp -19
|
||||
acc +31
|
||||
jmp -289
|
||||
acc -7
|
||||
acc -16
|
||||
acc +35
|
||||
jmp -333
|
||||
jmp -500
|
||||
acc +32
|
||||
acc +29
|
||||
acc +18
|
||||
acc +14
|
||||
jmp -161
|
||||
jmp -60
|
||||
jmp +6
|
||||
acc +4
|
||||
nop -108
|
||||
acc +27
|
||||
jmp +2
|
||||
jmp -133
|
||||
acc +2
|
||||
jmp -103
|
||||
acc +40
|
||||
nop -512
|
||||
acc +48
|
||||
jmp -196
|
||||
acc +47
|
||||
acc +40
|
||||
nop -346
|
||||
acc -2
|
||||
jmp -530
|
||||
acc +17
|
||||
nop -31
|
||||
acc +1
|
||||
jmp -74
|
||||
acc -15
|
||||
acc +4
|
||||
nop -330
|
||||
acc +32
|
||||
jmp -115
|
||||
acc -3
|
||||
jmp +1
|
||||
acc +14
|
||||
acc +31
|
||||
jmp -352
|
||||
jmp -10
|
||||
acc +18
|
||||
jmp -322
|
||||
acc +41
|
||||
jmp +59
|
||||
acc -16
|
||||
nop -359
|
||||
acc +29
|
||||
acc +26
|
||||
jmp -418
|
||||
acc +10
|
||||
acc +47
|
||||
jmp -519
|
||||
acc -5
|
||||
nop +40
|
||||
acc +30
|
||||
jmp -195
|
||||
acc +31
|
||||
acc +3
|
||||
acc +8
|
||||
jmp -10
|
||||
acc -12
|
||||
acc +21
|
||||
acc -1
|
||||
jmp +30
|
||||
jmp -341
|
||||
acc -5
|
||||
jmp -405
|
||||
acc -13
|
||||
jmp -170
|
||||
acc +24
|
||||
acc -16
|
||||
acc +20
|
||||
acc +17
|
||||
jmp -145
|
||||
acc +42
|
||||
acc +33
|
||||
jmp -395
|
||||
nop -142
|
||||
acc +45
|
||||
acc +15
|
||||
jmp -399
|
||||
nop -223
|
||||
jmp -299
|
||||
jmp -453
|
||||
acc -6
|
||||
nop -498
|
||||
acc +42
|
||||
jmp -112
|
||||
acc +39
|
||||
acc +46
|
||||
acc +4
|
||||
acc +27
|
||||
jmp -234
|
||||
jmp +1
|
||||
acc +45
|
||||
acc +47
|
||||
jmp -307
|
||||
jmp -378
|
||||
jmp -431
|
||||
acc +13
|
||||
acc +29
|
||||
jmp -282
|
||||
acc +4
|
||||
acc -3
|
||||
acc +37
|
||||
acc +40
|
||||
jmp -32
|
||||
nop -148
|
||||
acc +38
|
||||
acc +40
|
||||
acc +18
|
||||
jmp -171
|
||||
nop -546
|
||||
jmp -490
|
||||
acc +36
|
||||
jmp -514
|
||||
acc +27
|
||||
acc -10
|
||||
nop -560
|
||||
acc +44
|
||||
jmp +1
|
9
8ex.txt
Normal file
9
8ex.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
nop +0
|
||||
acc +1
|
||||
jmp +4
|
||||
acc +3
|
||||
jmp -3
|
||||
acc -99
|
||||
acc +1
|
||||
jmp -4
|
||||
acc +6
|
Loading…
Reference in a new issue