Solve 2020/08
parent
9ea9dfecc3
commit
53b89e5034
@ -0,0 +1,9 @@
|
||||
nop +0
|
||||
acc +1
|
||||
jmp +4
|
||||
acc +3
|
||||
jmp -3
|
||||
acc -99
|
||||
acc +1
|
||||
jmp -4
|
||||
acc +6
|
@ -0,0 +1,638 @@
|
||||
acc +8
|
||||
acc +37
|
||||
jmp +328
|
||||
jmp +574
|
||||
nop +321
|
||||
acc +17
|
||||
jmp +450
|
||||
acc +46
|
||||
acc -15
|
||||
nop -5
|
||||
acc +48
|
||||
jmp +358
|
||||
jmp +29
|
||||
acc +23
|
||||
jmp +11
|
||||
acc -14
|
||||
jmp +561
|
||||
acc +9
|
||||
acc +17
|
||||
jmp +136
|
||||
jmp +394
|
||||
acc +24
|
||||
acc +37
|
||||
acc +19
|
||||
jmp +241
|
||||
acc +38
|
||||
acc +44
|
||||
acc -5
|
||||
jmp -8
|
||||
acc +50
|
||||
acc -9
|
||||
acc +5
|
||||
jmp +424
|
||||
acc -15
|
||||
nop +93
|
||||
acc -1
|
||||
jmp +414
|
||||
jmp +548
|
||||
jmp +454
|
||||
acc +39
|
||||
jmp +490
|
||||
jmp +103
|
||||
jmp +214
|
||||
acc +37
|
||||
jmp +164
|
||||
acc +34
|
||||
jmp +362
|
||||
acc +24
|
||||
acc +32
|
||||
jmp +375
|
||||
jmp +500
|
||||
acc +23
|
||||
nop -1
|
||||
nop +463
|
||||
jmp +108
|
||||
acc +14
|
||||
jmp +106
|
||||
acc +20
|
||||
nop +298
|
||||
nop -39
|
||||
jmp +321
|
||||
jmp +1
|
||||
jmp +515
|
||||
nop +6
|
||||
acc +3
|
||||
acc +18
|
||||
acc -10
|
||||
jmp +353
|
||||
jmp -43
|
||||
jmp +1
|
||||
acc +0
|
||||
acc +7
|
||||
jmp +507
|
||||
nop +396
|
||||
jmp -62
|
||||
acc +30
|
||||
acc -13
|
||||
jmp +466
|
||||
jmp +137
|
||||
acc +6
|
||||
jmp +211
|
||||
acc +33
|
||||
acc +4
|
||||
jmp +269
|
||||
acc +50
|
||||
nop -65
|
||||
acc +18
|
||||
jmp -54
|
||||
jmp -68
|
||||
nop +38
|
||||
acc -6
|
||||
jmp +165
|
||||
nop +342
|
||||
acc +31
|
||||
acc +30
|
||||
nop +465
|
||||
jmp +273
|
||||
acc +35
|
||||
jmp +201
|
||||
acc +13
|
||||
acc +18
|
||||
acc +28
|
||||
acc +40
|
||||
jmp +244
|
||||
nop -63
|
||||
acc +25
|
||||
acc +16
|
||||
jmp -32
|
||||
acc -6
|
||||
acc +17
|
||||
jmp +298
|
||||
jmp +358
|
||||
acc +28
|
||||
jmp +1
|
||||
acc +27
|
||||
jmp +204
|
||||
jmp +4
|
||||
acc +17
|
||||
acc +47
|
||||
jmp +83
|
||||
acc -14
|
||||
jmp -42
|
||||
acc +0
|
||||
acc +14
|
||||
acc -9
|
||||
acc +13
|
||||
jmp +108
|
||||
acc +1
|
||||
acc -8
|
||||
acc +44
|
||||
jmp +420
|
||||
acc -1
|
||||
acc +24
|
||||
jmp +101
|
||||
acc -10
|
||||
nop +493
|
||||
nop +140
|
||||
acc -12
|
||||
jmp -134
|
||||
acc +21
|
||||
nop +385
|
||||
acc +38
|
||||
acc +4
|
||||
jmp +349
|
||||
jmp +225
|
||||
nop +432
|
||||
jmp +421
|
||||
acc +33
|
||||
acc +11
|
||||
jmp +462
|
||||
acc +21
|
||||
acc +11
|
||||
acc +5
|
||||
acc +15
|
||||
jmp +260
|
||||
nop +308
|
||||
acc -6
|
||||
acc -14
|
||||
acc -3
|
||||
jmp +178
|
||||
nop -33
|
||||
jmp +80
|
||||
acc +33
|
||||
acc -11
|
||||
acc +39
|
||||
jmp +145
|
||||
jmp +64
|
||||
acc +49
|
||||
acc +47
|
||||
acc +13
|
||||
jmp +331
|
||||
acc +1
|
||||
jmp -10
|
||||
acc +37
|
||||
nop +276
|
||||
jmp +259
|
||||
acc +16
|
||||
acc +38
|
||||
jmp +121
|
||||
acc +11
|
||||
nop +301
|
||||
acc +2
|
||||
jmp +94
|
||||
nop +186
|
||||
nop +255
|
||||
jmp -106
|
||||
nop -171
|
||||
acc +35
|
||||
acc -1
|
||||
acc +44
|
||||
jmp +129
|
||||
acc +27
|
||||
acc -6
|
||||
jmp -150
|
||||
acc +12
|
||||
acc +19
|
||||
acc +15
|
||||
jmp +247
|
||||
nop +309
|
||||
nop +429
|
||||
nop -131
|
||||
jmp +410
|
||||
jmp +187
|
||||
acc -4
|
||||
acc +45
|
||||
acc +3
|
||||
acc -16
|
||||
jmp -166
|
||||
acc +41
|
||||
jmp +276
|
||||
acc -2
|
||||
nop +23
|
||||
acc +11
|
||||
acc +19
|
||||
jmp +271
|
||||
acc +35
|
||||
jmp +136
|
||||
acc +46
|
||||
acc -9
|
||||
nop +189
|
||||
jmp +1
|
||||
jmp -201
|
||||
acc -11
|
||||
nop -190
|
||||
acc +9
|
||||
jmp +175
|
||||
acc +25
|
||||
acc +10
|
||||
acc -12
|
||||
jmp -50
|
||||
acc +44
|
||||
jmp +132
|
||||
acc -14
|
||||
jmp -71
|
||||
acc +47
|
||||
acc -9
|
||||
jmp -125
|
||||
jmp +1
|
||||
acc -5
|
||||
acc +47
|
||||
jmp +184
|
||||
nop -26
|
||||
jmp -48
|
||||
acc +24
|
||||
acc +33
|
||||
acc +38
|
||||
jmp +246
|
||||
acc +38
|
||||
nop -114
|
||||
nop +42
|
||||
nop +131
|
||||
jmp +256
|
||||
acc +48
|
||||
nop -126
|
||||
acc +20
|
||||
jmp +189
|
||||
acc +39
|
||||
nop +206
|
||||
acc +2
|
||||
acc +8
|
||||
jmp +279
|
||||
acc +31
|
||||
acc +8
|
||||
acc -14
|
||||
jmp +221
|
||||
acc -14
|
||||
acc +4
|
||||
jmp +161
|
||||
jmp +188
|
||||
acc +13
|
||||
acc +50
|
||||
acc -10
|
||||
acc +42
|
||||
jmp -169
|
||||
acc +25
|
||||
jmp +292
|
||||
acc +40
|
||||
jmp +53
|
||||
acc -1
|
||||
acc +29
|
||||
acc +20
|
||||
jmp -240
|
||||
jmp +4
|
||||
acc +28
|
||||
acc -9
|
||||
jmp -158
|
||||
jmp +305
|
||||
acc +47
|
||||
nop -250
|
||||
nop -155
|
||||
jmp +321
|
||||
acc +24
|
||||
acc +48
|
||||
acc +41
|
||||
acc -2
|
||||
jmp -61
|
||||
acc +40
|
||||
jmp +1
|
||||
jmp -209
|
||||
jmp +231
|
||||
acc +28
|
||||
acc +13
|
||||
jmp +45
|
||||
nop +147
|
||||
nop -35
|
||||
jmp -36
|
||||
acc +33
|
||||
acc +12
|
||||
acc +7
|
||||
jmp -62
|
||||
nop +1
|
||||
acc +3
|
||||
acc +18
|
||||
jmp +320
|
||||
acc +9
|
||||
acc -19
|
||||
acc -3
|
||||
acc +11
|
||||
jmp -151
|
||||
acc +11
|
||||
acc +31
|
||||
jmp -296
|
||||
acc -10
|
||||
acc +21
|
||||
jmp +104
|
||||
acc +46
|
||||
acc +22
|
||||
jmp +29
|
||||
jmp +1
|
||||
jmp +187
|
||||
acc -7
|
||||
acc +28
|
||||
acc +1
|
||||
acc +8
|
||||
jmp +74
|
||||
acc +45
|
||||
jmp +114
|
||||
acc +21
|
||||
nop -204
|
||||
jmp -327
|
||||
acc +5
|
||||
acc +36
|
||||
jmp -148
|
||||
jmp +285
|
||||
acc +2
|
||||
jmp +1
|
||||
jmp +197
|
||||
jmp +271
|
||||
nop +137
|
||||
nop +279
|
||||
acc +41
|
||||
jmp +1
|
||||
acc +43
|
||||
jmp +214
|
||||
nop -307
|
||||
jmp +245
|
||||
acc -13
|
||||
nop -210
|
||||
jmp +56
|
||||
acc -7
|
||||
acc +18
|
||||
acc +12
|
||||
jmp +88
|
||||
acc -18
|
||||
acc +32
|
||||
jmp +1
|
||||
jmp -199
|
||||
acc -9
|
||||
jmp -317
|
||||
acc -17
|
||||
acc +2
|
||||
nop +202
|
||||
acc +20
|
||||
jmp +227
|
||||
jmp -44
|
||||
jmp -28
|
||||
acc -9
|
||||
acc +12
|
||||
acc -10
|
||||
acc +3
|
||||
jmp -115
|
||||
acc +19
|
||||
acc +22
|
||||
jmp -340
|
||||
acc -7
|
||||
acc +7
|
||||
acc +32
|
||||
acc -11
|
||||
jmp -19
|
||||
acc +7
|
||||
jmp +1
|
||||
acc +14
|
||||
jmp -89
|
||||
acc +39
|
||||
jmp +75
|
||||
acc +32
|
||||
nop +215
|
||||
acc +40
|
||||
jmp +83
|
||||
jmp +204
|
||||
acc +1
|
||||
acc +29
|
||||
acc -2
|
||||
jmp +70
|
||||
acc -15
|
||||
acc -1
|
||||
nop -381
|
||||
jmp +27
|
||||
nop +65
|
||||
acc +40
|
||||
jmp -299
|
||||
acc +16
|
||||
acc +13
|
||||
jmp -24
|
||||
acc +26
|
||||
jmp -20
|
||||
acc +36
|
||||
acc +10
|
||||
nop -274
|
||||
jmp -394
|
||||
jmp +165
|
||||
acc +33
|
||||
acc -7
|
||||
jmp -419
|
||||
jmp -386
|
||||
nop -298
|
||||
nop -406
|
||||
jmp -108
|
||||
acc +10
|
||||
acc +46
|
||||
acc +0
|
||||
nop +50
|
||||
jmp -343
|
||||
jmp -5
|
||||
acc -8
|
||||
jmp -233
|
||||
acc +13
|
||||
acc +43
|
||||
jmp +87
|
||||
jmp +24
|
||||
acc +35
|
||||
nop -421
|
||||
acc +46
|
||||
jmp -35
|
||||
jmp -55
|
||||
acc +24
|
||||
acc +17
|
||||
acc -16
|
||||
acc +26
|
||||
jmp +128
|
||||
nop -11
|
||||
jmp +167
|
||||
acc +25
|
||||
acc +14
|
||||
nop -59
|
||||
jmp -108
|
||||
acc +50
|
||||
acc -18
|
||||
acc +45
|
||||
jmp -390
|
||||
acc -2
|
||||
acc +16
|
||||
jmp +123
|
||||
acc +41
|
||||
jmp -242
|
||||
nop -338
|
||||
acc -15
|
||||
acc +44
|
||||
jmp -227
|
||||
nop +159
|
||||
acc +10
|
||||
jmp -298
|
||||
jmp -338
|
||||
acc +10
|
||||
acc +9
|
||||
acc +24
|
||||
nop -173
|
||||
jmp -330
|
||||
nop -453
|
||||
acc +2
|
||||
jmp +1
|
||||
jmp -138
|
||||
acc +21
|
||||
acc +50
|
||||
jmp -451
|
||||
acc +19
|
||||
acc -7
|
||||
nop -454
|
||||
jmp +85
|
||||
acc -11
|
||||
acc +19
|
||||
jmp -394
|
||||
acc +27
|
||||
acc +4
|
||||
acc +42
|
||||
jmp -491
|
||||
acc +36
|
||||
acc +33
|
||||
acc -5
|
||||
acc +39
|
||||
jmp -425
|
||||
acc +46
|
||||
acc +10
|
||||
jmp -452
|
||||
acc -1
|
||||
acc +36
|
||||
jmp -339
|
||||
acc +26
|
||||
acc +24
|
||||
acc -8
|
||||
jmp -376
|
||||
acc +35
|
||||
jmp +1
|
||||
acc -4
|
||||
acc +24
|
||||
jmp -71
|
||||
acc +46
|
||||
acc -4
|
||||
acc -8
|
||||
jmp -289
|
||||
acc +11
|
||||
acc +32
|
||||
acc +32
|
||||
acc +26
|
||||
jmp -214
|
||||
acc +46
|
||||
nop -485
|
||||
acc +16
|
||||
jmp -287
|
||||
jmp -95
|
||||
acc +36
|
||||
nop -376
|
||||
acc -13
|
||||
jmp -406
|
||||
nop -278
|
||||
acc +22
|
||||
acc +21
|
||||
acc +33
|
||||
jmp -463
|
||||
jmp +11
|
||||
nop -346
|
||||
acc +33
|
||||
jmp -86
|
||||
acc -17
|
||||
nop -350
|
||||
nop +83
|
||||
jmp -299
|
||||
acc +31
|
||||
acc +28
|
||||
jmp -516
|
||||
acc -13
|
||||
acc +15
|
||||
acc -19
|
||||
jmp -338
|
||||
acc +21
|
||||
acc +10
|
||||
jmp -309
|
||||
jmp -473
|
||||
nop -150
|
||||
jmp +44
|
||||
acc +45
|
||||
acc +41
|
||||
acc +41
|
||||
nop -139
|
||||
jmp -448
|
||||
jmp +1
|
||||
jmp -103
|
||||
nop -433
|
||||
acc +1
|
||||
acc -1
|
||||
acc +0
|
||||
jmp -289
|
||||
jmp -531
|
||||
jmp -134
|
||||
acc +21
|
||||
acc +14
|
||||
jmp -51
|
||||
jmp -520
|
||||
jmp -275
|
||||
acc +6
|
||||
acc +42
|
||||
jmp -256
|
||||
acc +26
|
||||
acc +36
|
||||
jmp -17
|
||||
acc +11
|
||||
acc +32
|
||||
nop -244
|
||||
acc +42
|
||||
jmp -546
|
||||
jmp -565
|
||||
acc +31
|
||||
acc -12
|
||||
nop -496
|
||||
jmp -531
|
||||
acc +25
|
||||
nop -196
|
||||
acc -18
|
||||
acc +10
|
||||
jmp -22
|
||||
nop -231
|
||||
jmp -41
|
||||
jmp -555
|
||||
acc +37
|
||||
acc -14
|
||||
acc +43
|
||||
jmp -462
|
||||
acc -11
|
||||
acc +43
|
||||
acc +15
|
||||
jmp -229
|
||||
acc +0
|
||||
acc +20
|
||||
acc -18
|
||||
nop -3
|
||||
jmp -240
|
||||
acc +37
|
||||
jmp -520
|
||||
nop -424
|
||||
jmp +1
|
||||
jmp +1
|
||||
nop -158
|
||||
jmp -19
|
||||
acc +0
|
||||
nop -591
|
||||
acc +29
|
||||
nop -192
|
||||
jmp -24
|
||||
nop -55
|
||||
jmp -364
|
||||
acc +5
|
||||
acc +33
|
||||
jmp -176
|
||||
acc +25
|
||||
acc +6
|
||||
acc +21
|
||||
acc +16
|
||||
jmp +1
|
@ -0,0 +1,37 @@
|
||||
import time
|
||||
|
||||
tag8 = open('input', 'r')
|
||||
|
||||
tag8 = [x.strip() for x in tag8]
|
||||
|
||||
print(tag8)
|
||||
|
||||
acc = 0
|
||||
zeiger = 0
|
||||
|
||||
besucht = list()
|
||||
|
||||
print('=' * 10, ' start loop', '=' * 10)
|
||||
while True:
|
||||
if zeiger in besucht:
|
||||
break
|
||||
|
||||
zeile = tag8[zeiger]
|
||||
besucht.append(zeiger)
|
||||
|
||||
instruction = zeile[0:3]
|
||||
number = int(zeile[4:])
|
||||
if instruction == 'jmp':
|
||||
zeiger += number
|
||||
else:
|
||||
zeiger += 1
|
||||
if instruction == 'acc':
|
||||
acc += number
|
||||
|
||||
print(zeile, '\tacc:', acc, '\tzeiger:', zeiger, '\tbesucht:', besucht)
|
||||
print()
|
||||
time.sleep(0.3)
|
||||
|
||||
print('=' * 10, ' end loop', '=' * 10)
|
||||
|
||||
print('acc:', acc, '\tzeiger:', zeiger, '\tbesucht:', besucht)
|
@ -0,0 +1,54 @@
|
||||
tag8 = open('input', 'r')
|
||||
|
||||
tag8 = [x.strip() for x in tag8]
|
||||
|
||||
|
||||
def run_game():
|
||||
acc = 0
|
||||
zeiger = 0
|
||||
besucht = list()
|
||||
print('=' * 10, 'LOOP START', '=' * 10)
|
||||
while zeiger < len(tag8):
|
||||
if zeiger in besucht:
|
||||
print('=' * 10, 'LOOP END. loop detected', '=' * 10)
|
||||
return False
|
||||
|
||||
zeile = tag8[zeiger]
|
||||
besucht.append(zeiger)
|
||||
|
||||
instruction = zeile[0:3]
|
||||
number = int(zeile[4:])
|
||||
if instruction == 'jmp':
|
||||
zeiger += number
|
||||
else:
|
||||
zeiger += 1
|
||||
if instruction == 'acc':
|
||||
acc += number
|
||||
print(zeile, 'zeiger', zeiger)
|
||||
print('=' * 10, 'LOOP END. Terminated', '=' * 10)
|
||||
return acc
|
||||
|
||||
|
||||
acc = False
|
||||
|
||||
for zeilennummer, zeile in enumerate(tag8):
|
||||
instruction = zeile[0:3]
|
||||
rest = zeile[3:]
|
||||
if instruction == 'nop':
|
||||
tag8[zeilennummer] = 'jmp' + rest
|
||||
acc = run_game()
|
||||
if acc:
|
||||
print(f'Success: Changed line {zeile} to jmp')
|
||||
break
|
||||
tag8[zeilennummer] = 'nop' + rest
|
||||
elif instruction == 'jmp':
|
||||
tag8[zeilennummer] = 'nop' + rest
|
||||
acc = run_game()
|
||||
if acc:
|
||||
print(f'Success: Changed line {zeile} to nop')
|
||||
break
|
||||
tag8[zeilennummer] = 'jmp' + rest
|
||||
print(f'Processed line {zeile}')
|
||||
|
||||
|
||||
print('Acc nach der Schleife:', acc)
|
Loading…
Reference in New Issue