Updating new solutions
This commit is contained in:
1
2021/06.input
Normal file
1
2021/06.input
Normal file
@@ -0,0 +1 @@
|
||||
3,5,1,2,5,4,1,5,1,2,5,5,1,3,1,5,1,3,2,1,5,1,1,1,2,3,1,3,1,2,1,1,5,1,5,4,5,5,3,3,1,5,1,1,5,5,1,3,5,5,3,2,2,4,1,5,3,4,2,5,4,1,2,2,5,1,1,2,4,4,1,3,1,3,1,1,2,2,1,1,5,1,1,4,4,5,5,1,2,1,4,1,1,4,4,3,4,2,2,3,3,2,1,3,3,2,1,1,1,2,1,4,2,2,1,5,5,3,4,5,5,2,5,2,2,5,3,3,1,2,4,2,1,5,1,1,2,3,5,5,1,1,5,5,1,4,5,3,5,2,3,2,4,3,1,4,2,5,1,3,2,1,1,3,4,2,1,1,1,1,2,1,4,3,1,3,1,2,4,1,2,4,3,2,3,5,5,3,3,1,2,3,4,5,2,4,5,1,1,1,4,5,3,5,3,5,1,1,5,1,5,3,1,2,3,4,1,1,4,1,2,4,1,5,4,1,5,4,2,1,5,2,1,3,5,5,4,5,5,1,1,4,1,2,3,5,3,3,1,1,1,4,3,1,1,4,1,5,3,5,1,4,2,5,1,1,4,4,4,2,5,1,2,5,2,1,3,1,5,1,2,1,1,5,2,4,2,1,3,5,5,4,1,1,1,5,5,2,1,1
|
||||
49
2021/06.py
Normal file
49
2021/06.py
Normal file
@@ -0,0 +1,49 @@
|
||||
# with open('./2021/06.test') as input_file:
|
||||
with open('./2021/06.input') as input_file:
|
||||
raw_input = input_file.read()
|
||||
|
||||
input_data = raw_input.split(",")
|
||||
|
||||
input_data = [int(x) for x in input_data]
|
||||
|
||||
# Using dicts
|
||||
fish_dict = {0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0}
|
||||
|
||||
for one_input in input_data:
|
||||
fish_dict[one_input] += 1
|
||||
|
||||
for i in range(0, 256):
|
||||
for index in range(0, 9):
|
||||
fish_dict[index - 1] = fish_dict[index]
|
||||
fish_dict[6] += fish_dict[-1]
|
||||
fish_dict[8] = fish_dict[-1]
|
||||
fish_dict[-1] = 0
|
||||
|
||||
if i == 79:
|
||||
output_sum = 0
|
||||
for one_value in fish_dict.values():
|
||||
output_sum += one_value
|
||||
print(output_sum)
|
||||
print(i, end='\r')
|
||||
output_sum = 0
|
||||
for one_value in fish_dict.values():
|
||||
output_sum += one_value
|
||||
print(output_sum)
|
||||
|
||||
|
||||
# # Brute force method
|
||||
# for i in range(0, 256):
|
||||
# for index in range(len(input_data)):
|
||||
# input_data[index] -= 1
|
||||
|
||||
# if input_data[index] < 0:
|
||||
# input_data[index] = 6
|
||||
# input_data.append(8)
|
||||
# if i == 79:
|
||||
# print(len(input_data))
|
||||
# print(i, end='\r')
|
||||
# print(len(input_data))
|
||||
|
||||
|
||||
|
||||
|
||||
1
2021/06.test
Normal file
1
2021/06.test
Normal file
@@ -0,0 +1 @@
|
||||
3,4,3,1,2
|
||||
1
2021/07.input
Normal file
1
2021/07.input
Normal file
@@ -0,0 +1 @@
|
||||
1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,867,253,111,269,117,150,421,508,1073,136,247,10,1427,802,2,492,1302,228,2,48,113,0,741,34,107,559,514,283,372,78,423,405,1303,360,281,1850,367,892,1021,930,318,80,709,349,32,203,94,1359,456,783,62,34,1487,245,294,749,250,1441,8,1388,604,324,483,696,119,294,1478,529,189,454,785,703,13,1099,790,402,251,919,116,318,201,893,571,3,45,756,41,65,92,21,1903,219,32,191,1037,177,480,232,389,1342,1178,1320,955,1020,655,276,203,221,316,689,621,270,911,537,230,327,662,552,410,1608,385,7,26,227,71,1646,257,725,531,413,8,19,1029,182,1518,270,124,113,569,468,126,505,376,367,113,425,4,80,1883,433,1167,768,231,393,528,69,422,17,350,858,1028,659,972,108,542,602,1577,11,1481,127,466,415,567,1178,38,137,777,446,965,832,1347,642,716,176,264,487,32,425,354,104,230,756,310,711,228,580,520,677,781,45,926,1063,126,235,262,199,330,874,1570,221,107,803,810,1723,266,99,940,21,38,1680,44,32,17,907,403,413,628,968,138,12,24,483,114,658,206,24,61,561,882,532,1280,255,805,75,237,321,310,1022,545,1515,609,65,791,933,233,846,506,704,628,516,868,726,134,6,243,1048,227,259,1599,117,114,461,365,63,1559,62,98,884,11,426,915,192,901,4,1481,122,424,307,250,256,693,162,1217,834,516,644,898,396,1073,642,480,361,1434,607,23,818,515,6,288,443,324,4,1559,659,409,415,82,41,1233,657,93,1405,17,94,18,379,32,8,419,1511,766,234,818,916,775,4,1009,282,372,317,371,945,1314,261,485,529,1076,298,223,40,434,401,117,1030,153,2,19,27,41,544,477,1117,588,206,155,12,1197,1518,305,51,921,775,296,1187,57,517,2,36,145,92,67,68,559,771,1,69,250,612,94,1638,1327,501,434,114,6,1468,429,28,1163,207,576,50,1759,216,9,50,432,598,664,1087,409,828,1115,169,120,318,21,1245,314,338,47,469,231,236,892,671,373,991,1136,488,341,168,143,850,1135,42,449,666,814,16,232,505,122,1316,803,1093,977,79,5,936,512,217,942,1333,13,13,1861,2,267,74,1096,1058,107,461,78,418,861,547,25,1398,255,562,344,820,1171,1376,494,17,116,1333,256,20,1425,1668,79,604,1614,223,45,18,917,30,965,866,1331,91,141,1120,829,3,0,498,57,78,1579,467,185,1399,683,590,11,913,33,540,536,459,367,175,176,946,130,324,634,671,554,277,570,968,409,468,419,1249,1039,45,238,4,808,1022,10,151,1158,32,38,1054,969,90,70,1194,1582,512,876,289,1042,91,1872,305,996,349,17,517,968,1493,637,142,141,226,590,181,811,608,4,135,97,389,385,929,1143,1319,684,509,437,133,843,101,118,71,120,80,25,33,259,894,1050,1450,583,1665,372,128,586,282,1147,1160,1643,1488,339,445,268,1577,101,8,308,719,210,288,332,1034,47,1303,31,59,16,270,104,68,1107,736,420,108,367,461,791,279,863,645,2,999,453,682,21,764,244,435,1238,36,1193,37,346,35,70,114,78,67,1245,15,1002,83,450,353,50,396,1068,26,21,429,551,13,498,117,731,601,23,1218,271,26,958,852,139,331,92,560,218,1243,410,109,296,35,588,6,645,87,64,188,497,28,693,18,88,196,62,7,33,311,1102,187,829,664,630,331,304,1249,21,309,1238,64,155,38,134,291,77,90,32,765,332,87,257,755,93,181,174,118,584,98,825,292,428,187,731,813,784,1222,117,345,1380,31,1447,269,672,747,1112,147,32,690,1258,253,763,92,1427,503,4,40,289,41,733,240,884,201,136,594,560,3,1083,1282,686,918,667,1535,702,158,65,1055,100,481,457,1565,1067,641,289,18,1537,62,545,401,1238,528,713,1042,430,144,390,220,953,42,817,18,26,137,1870,999,557,234,586,1316,87,104,369,39,215,595,922,1194,187,1056,382,397,387,872,191,464,1841,883,162,119,38,916,2,676,1524,315,1217,63,382,328,591,372,138,883,733,910,635,1059,87,773,630,1179,169,947,401,20,820,119,575,1117,48,268,45,896,772,293,217,73,732,26,528,1121,382,813,419,424,221,107,145,264,526,589,482,51,1399,954,292,276,248,1276,218,1005,296,360,60,5,499,661,192,199,250,1001,496,281,361,664,248,1090,86,203,241,61,329,1551,182,790,787,408,442,603,681,522,478,1072,527,1094,104,1267,418,730,217,1198,859
|
||||
52
2021/07.py
Normal file
52
2021/07.py
Normal file
@@ -0,0 +1,52 @@
|
||||
# with open('./2021/07.test') as input_file:
|
||||
with open('./2021/07.input') as input_file:
|
||||
raw_input = input_file.read()
|
||||
|
||||
input_data = raw_input.split(',')
|
||||
input_data = [int(x) for x in input_data]
|
||||
|
||||
print(input_data)
|
||||
print(max(input_data))
|
||||
print(min(input_data))
|
||||
|
||||
# Calculate the fuel cost of each position. Keep the lowest.
|
||||
|
||||
best_position = min(input_data)
|
||||
best_fuel = 0
|
||||
|
||||
for one_position in range(min(input_data), max(input_data) + 1, 1):
|
||||
fuel_cost = 0
|
||||
for one_crab in input_data:
|
||||
fuel_cost += abs(one_position - one_crab)
|
||||
|
||||
if best_position == one_position:
|
||||
best_fuel = fuel_cost
|
||||
if fuel_cost < best_fuel:
|
||||
best_position = one_position
|
||||
best_fuel = fuel_cost
|
||||
|
||||
print("Linear Growth")
|
||||
print(best_position)
|
||||
print(best_fuel)
|
||||
|
||||
best_position = min(input_data)
|
||||
best_fuel = 0
|
||||
|
||||
for one_position in range(min(input_data), max(input_data) + 1, 1):
|
||||
fuel_cost = 0
|
||||
for one_crab in input_data:
|
||||
for one_fuel in range(abs(one_position - one_crab) + 1):
|
||||
fuel_cost += one_fuel
|
||||
if best_fuel > 0 and fuel_cost > best_fuel:
|
||||
break
|
||||
|
||||
if best_position == one_position:
|
||||
best_fuel = fuel_cost
|
||||
if fuel_cost < best_fuel:
|
||||
best_position = one_position
|
||||
best_fuel = fuel_cost
|
||||
print(one_position, end='\r')
|
||||
|
||||
print("Crab Growth")
|
||||
print(best_position)
|
||||
print(best_fuel)
|
||||
1
2021/07.test
Normal file
1
2021/07.test
Normal file
@@ -0,0 +1 @@
|
||||
16,1,2,0,4,2,7,1,2,14
|
||||
200
2021/08.input
Normal file
200
2021/08.input
Normal file
@@ -0,0 +1,200 @@
|
||||
dcagfb cbegda cabdf bagedf dcb cd dcbegaf aebcf bgdaf dgcf | dacebgf cbafd dbacf cdgf
|
||||
dfgbc ceagbd egb cgdae eafcgd ecbgd eb aefbgcd bfaceg deba | baed ecabgd aebd cadfebg
|
||||
acbd bagfec bedcf efbca dbfecag gadcfe dc dbcaef cde fbegd | deacfg bfagcde bgedf cde
|
||||
dgec dfc fabgd bfcgae dfbcg baegdcf cd fbdace cdbefg becgf | cedg adfbecg badgf dgbfc
|
||||
be bacedg dfacb fbge deagcf eba egacf gcebfa febac dbgacfe | befg be egbf aedgcbf
|
||||
gafbd gbafce agced fdgae bcedgaf gdeacb efdc eaf fe cgeadf | cgdae fdec fcdeabg ef
|
||||
cdaefgb cfadbe gc afgcbe afedcg faecb cabg egc bfgde bfgce | fbaedc gc abgc bfcea
|
||||
egcafb adgecf caebf fdgbaec fbaed cebg facbgd cfe fgabc ec | fbgca deagfc ce ce
|
||||
fcdab deb cdbfea fecb befcdga abecd gdcae efbgda fcdgba be | cfbad dacge gbdeaf bed
|
||||
afdecg gfcadb ecadfbg facgd ed egda efbgc ecd cdegf bfadec | becgf fcbeg de cgefb
|
||||
caedbg gcfdba bfdae ge beagfdc bedag gcabd egac gcefbd deg | fdbecg acge bgfacd abefd
|
||||
befad ecgad adgefcb febg gb afdcbe dcbfag beafgd dbg eagdb | feabd aedfb gbd aebdcf
|
||||
bcfde acbfed dcaf dbcae gacbfe fc dgbcae egbacfd fcb edbfg | gbdfe gbeafc bcf cebfga
|
||||
cgbade adcbgfe fb efgbad gbcfde aecfd edgba afbg bfeda fbe | ecafbdg bfdea fgab edfbgc
|
||||
cbfa gefbd bcfedga bagefc ab bga ecdgab gbaef gfacde fcage | acdegf gab cegadb gab
|
||||
cafbeg dfaebc fdca dgcbe eacbf fde debgfca egabfd dfceb fd | df eabcf egbdc dfe
|
||||
egcdfa ebdac fdaecbg ed fdacb agecb cbdgaf ecd efdb dbaecf | dcabf cbeag ebdf ecgba
|
||||
gacdebf decfbg afbdg dcagbf cg agdbc agcf ebcad abgedf bcg | badec dcbga cgfa abcde
|
||||
fgcad dfebga gdbef ec ebcd fbcgea ceg fgedc defgbac dcfgbe | ce gbdfe fbcgdea fcgbdea
|
||||
cgbef afcbeg dgbec ebafcd cgbfeda adbge cd ecd gfcd fgbdec | edc gcebd fegacdb cd
|
||||
bafdcg egfdc bcfge dgeabf cd cgbadfe agefd facegd eadc cgd | cgd dcg defbagc cfdbega
|
||||
degfcb fdg edabgf cadge fg gfcb cdeafbg bcefd dgfec beadcf | dgcbfe cabfed fecbd cgdfbea
|
||||
dbfaec bfcgae cdb cdaf defbcg abgde ceabf adceb decgafb cd | fcda bdc dc afgecb
|
||||
cead efcdg adbcfeg fagdc def acegfd fcbagd cbgef ed fgdaeb | ecad fcaedg cgadf cfaged
|
||||
egdbfa cbgefad dgacbf cb dfbgec gefbd cbf gefbc gcefa bdec | ebcd ecgdbf fgebc cfb
|
||||
fagbe acbged bf eagcf dgaebcf gbf febadg deabg cdagbf fbed | fbcdag fgeca abgdcf cdbage
|
||||
baefc febgadc fcag dbgec feg gacfbe gfecb afedgb fg edafcb | aegdfb feabc agbfed fabged
|
||||
gfedcb eadgcf fed befdagc gaedf bgdea bdafcg fe acdfg feca | bcfdga cagfd afce efca
|
||||
cbfed degfba fgdbac acdg fdcab ac acgebf agdfb bac gcbfdea | cbdegfa caefgbd ca gdbcafe
|
||||
dbcgea dc dcg cadf abgcdf efgdb afgbc gefacdb fbcdg agebfc | dabgce gbceda dgc dc
|
||||
ef dgfbc cefbg gabecfd agceb feg gbcadf dfbe fcdgeb dfagec | gfe cafegd dfeb fe
|
||||
ebgdc egdacb dfbcega dfe dbfge bagef ecdbfg bdcf df fgecad | dbgce fd cfdb edf
|
||||
bdage ab fbgaecd aefb bfadeg gefad cdgeb agcbdf gba fgcdae | cgdbfa befa dgefca acebfdg
|
||||
aecb dbgecf eagfcb ecdbfag fdegba geacf gebfa cge cgdfa ec | acgfe gec cabe fgcda
|
||||
acd cafg abedcgf cfebda efcbgd cegfd ca cdgafe agcde bgeda | egcfbda gcfdae gefacd dca
|
||||
dcefga gdefa db fbaed abefdgc faebc fbgaed bdf gbed dcafgb | bfd db db gbdfae
|
||||
befac abcd bdcfe ecd cd baegfc edfgca adfbce aebcdgf edbfg | cgedfab feabc cd dabc
|
||||
eacdgf cebgdfa acgebd ecdba dbcfea fdgcb dag ga acgdb abge | ag ga adg ag
|
||||
gca fagbe dfageb bagce ecgfab gfce gc dcfeabg fadbcg bedac | afbdceg gadfeb cga acbdfg
|
||||
gbad febac dea gadbecf fdegbc edfacg da bdecg cdbea bdcgae | dbag cdeabg gcdaeb adbg
|
||||
cdgfeb cbeaf adef cfa fa aecbg fedcb acdebf bdcfga cdefbga | fdea eadf efad caefb
|
||||
aedgb df cgbaed gdef bfcgda bfd efbac dgfeab debfa aegcbdf | acbfe egfd afebgd gefd
|
||||
badcfe fcbg bf dfecbga faged gfadbc dfb dfgab abdcg dbceag | bf fb dafbgec fbd
|
||||
bdae decgbf afcbge bdecfa afcbd edgfcab ebcaf bd dfacg dbc | ebda db cbd cbd
|
||||
acfgde ae eac agbdec gadcb ebgcafd baed gfcbe cgabe bfgadc | cea fecdga ebgdac eac
|
||||
cbedga cfb adcbe bfae afcdgeb cgdaf fcedab bf fcbdeg dacbf | dfceba fcdga fbc fcebda
|
||||
cdafg dfgeac fc dbgcef gadbc gacfebd dcf edfgab gefad caef | fadgc facged adgefb ecgbdaf
|
||||
gdcbf eabdgf gaefd fbdge afcedg bacgfe fagbedc dbea efb be | ecagfb dgaef be eb
|
||||
gbecad faced abgedf cd cbfd abedcf dacgbfe cde deabf agcfe | cd edbfac cgabed daebfg
|
||||
cgebaf dacbge gafed eadbgf dgcef ad fadgbce dea bgafe dafb | fegad dgeaf ad gdfae
|
||||
ecfadb eagdbc afbcdge abfcgd cf bgedf agfc cfd gbfdc bcagd | fcga fcd befgd gdbfc
|
||||
afcbg gfeb gfcad ecgdba cbf cafbeg bacge fb ebdfac baedcfg | fbc gabce egabc fcadg
|
||||
agd gadbc da agcfed gcebad dgfcb ecabg ebcagdf eadb becfag | fgbeadc bcega geacb gceab
|
||||
gaebf gfdbce aefbgd fde aefcbg ed dcaebfg agde aefdb acfdb | efd agcdebf cbgefd ebgfa
|
||||
cdgfe ecbafd ebgca ad gedbcfa cad adbg cedabg egcad fcebga | gbedac adgb ecdgab daceg
|
||||
efcb fcdag begdfa egcdf edf fe gfcdeb cdbega geacdbf becdg | dagfc gbadef decbg fe
|
||||
bgaed agfdc fdgea fae fabcgd gcfe fe decfga afgedcb facbed | gdafe ef eacfbgd fe
|
||||
ebgfca def fd ecgfbd efbda eabdg edgcfba afdc ecbfa bfdaec | abcefd fd dafc debcagf
|
||||
eacbg efbdgca fdbga gde abecdg beagd cdeafg de cebd ecagbf | gaedbc gdcbafe gaecdf bgdeac
|
||||
bafce cedb edacgfb fbgac fbe aedfgb be cbedfa cdefa eacfgd | be acbfg gfbac edbc
|
||||
dgba cbgfdea gbe fbaegc cbedga fegdc decafb cdbge bg daecb | cadfbe bgad beadgc bgedc
|
||||
abd fdbcae aedfb daec ad bacfdg dgefcb agbef cbefd cbagdef | ad dab acde da
|
||||
cdagbe dagbe fageb gdfbeca gdcba edac dgcfba egd egcfbd ed | fbgcad cafdbg de facbged
|
||||
dbecf egadfb cfagde da fcebga cagef dae fadec dagc dfbcaeg | da dgac bfedc ad
|
||||
efa adcf fgcde acgeb bgedfa efcga degfbc aegcfdb fa efdgac | cfgea fedgc ecagf efdacgb
|
||||
fecga eafgd acgefb cf gceab fbcdag gecdafb cabedg fbec gcf | agcbfd gfc cgf ceagf
|
||||
egcaf ecdafgb dfgea cbafe dfebgc bgac cbagef cg gfc ecdfab | edbfgca edafg cgf gfc
|
||||
afdcgb decgb fbdegca fbgae fdbaeg dgfbe gbafce df fdb efda | gcbed dafe gbfdca aefgb
|
||||
gaebd baefg cfadbg fb gaedfbc gadbef cfgea bfde baf gacdeb | abf cdbagf aecbdg fagec
|
||||
cfdb dcg geadbf febdg edfabcg dc bgecd eabcg fcgead cgbfde | dgc dc bdfge dcfebga
|
||||
dfbcaeg fdgcae gfdab bagc gabcdf fecbgd cadgf gb fbade bdg | bdg gacb bgac ecfbdg
|
||||
eg befdg fceabd badfg dbecf egbcfa bedgcf gbacefd egb dceg | beg faecdb gfdbe dbacef
|
||||
cdagef edfca dgfa fca fa agedc gfcabe bdfec bdcage fbcaedg | caedbfg ecafgbd fdcega decgfba
|
||||
gfc cfeb cafgdb fc aedgbfc cgdfe degfb aedcg fbegcd dfgbea | acdge fedbg agedc ebgdfa
|
||||
aegdcb gde dgbfca eg bdecfga fedbgc gcbfd fgecd bfge acefd | ge debcag bgedcf bfeg
|
||||
gbd eagbc cbefagd gcde aefdb gcebad cgdafb dg aegbd facbge | cdeg cged ebdaf gbd
|
||||
eagbcf cba aebd cdfga cdegbf afcbedg dcbfe ab adfcb acfbde | bcfeag fgdcbe daeb bdae
|
||||
gc dabcfg dcfageb acg ecabf bgadef facge gfeda ecdg fagced | gcde efdga agc fgaed
|
||||
bcgdea bacfdg aeg cdabg dfeagc befgd aebc dabfgec ae degba | ebfdg egadcf aceb gbdac
|
||||
ceadf defagb fg agbed dfgaebc bfaecg eacdbg afgde efg fgbd | gf egbda fabegc badfgec
|
||||
begcfd fdecb fbdga ca bace cfadb egfdca cda cfaedb efabdcg | gacefd fdgba fcdebg bcae
|
||||
bcga agbefc fageb ca afc debfc dafegc fdgeab abfdgec fecab | gdafceb befac fdecga ac
|
||||
fce adcfg cgdefa bgcfda fdae acegf fe cgbae adgfceb cdegfb | gedacbf fdebgac deaf afde
|
||||
agcf dbegf bga cfeba gfdebca fgaeb cbdefa ag egadcb cbfega | fbdge gcabef cagf ebdafc
|
||||
aedg ge decbga bafce ecg gcdab degfcab gcfdeb ceabg abdcfg | cbfea ecg bafec eacfb
|
||||
gfdceb cgb bcdfe gebdc egcabdf egcf bafcgd bgdae edabfc cg | gbc bgdfca cgfe gc
|
||||
bg bedcf dgfaec fdbgc gcbafed fbg bfaged gadcf cgab acbgfd | agfbde bg bgcdf fgb
|
||||
gafcb cdfgab abfcge cbgde bdcfae ea faeg dbgcafe ace agebc | decbaf fbacde bcagf ace
|
||||
bgfdac cgabdef efdca fagce febagc cd fcd dfeacg gdce aefdb | dc dgcfba ecdagf gfacbe
|
||||
bde eb egfbdc ebgfd fbdgc daebgc cagfbd gfbceda efbc aedfg | cgebadf becf cfbdg cfbedg
|
||||
ebcdfag fadec daceg gbecaf eabcfd fd fad aebfc fcgbad efbd | dcefbag fceagb fdecabg adf
|
||||
efgd fd bfagcd acefb febad gdbaef edcgba badge dbgaefc daf | eafbd gbcdfa gdfe edgba
|
||||
cefdag bfagec bedcg da acd bcfead bdgcefa gcaef acdeg agfd | geacbf faegdc fcdgbea eacgfdb
|
||||
bcedgaf bgfae cab bdcg cb gcade egdacf abdegc agbec becfad | gfcadbe adgbec gebfcda cfaedg
|
||||
gf edbcafg cfge gdafe gdf cdabfg eabdg dgefac acfed fbceda | geabd cbgdfa ceadbf agbfdc
|
||||
fcbgde fbged cgfdb gdebcaf cfge ebg deabf baedcg ge dfabcg | beadf ge dcbgef cfeg
|
||||
eafdcb gcdfbea eag dgcba gacdef agebd dbefag deabf ge fgbe | fcbdea bgcdeaf dbgac fagcebd
|
||||
dc fgebad ecd aedcfb cdga ebcagd dfbaecg adebg debcg gbecf | bcegd gcdeb dacg eagdb
|
||||
cad feabgd fadegc bgcdfea gbcfa bgcda bgaced decb dc ebadg | acd adfbge cd dc
|
||||
af cfbge fadecg afbgc dbaf gbdfac bdgeacf dbcga cfa gebcda | fa dabcg dafb gbceda
|
||||
fbgdea gcefa agfdb fecdba egbd fdgea de bagfcd gdcbafe dae | ed eda abdefc fadgeb
|
||||
fdbcga fdbae bfa adfcge gcbfaed bfeg fdage eacbd fgbaed fb | bdcfage fbeg eadfbg gbef
|
||||
cfdbga fdeab gefbad bcaefd egad fdaegbc ag gcefb afg agefb | abfgecd egda bgcfe adefb
|
||||
fbeda ae dae bdgfe gcadbf beac fedabc badfc ceagfd dgcbafe | bfcad gfabdc aed fbdac
|
||||
fgcaed bagcef bdfc edabg efacd ebcadf fb afb abefd agfbdce | cfdb fb abf abf
|
||||
fed bfaedc fceab edabg bfdea ecdagf begfdac df fceabg bfcd | cebgfa df eagbd gafced
|
||||
egfdc fcg cadg dfebc dfebcga cg dgabef ebgacf dfgea gcfade | fbedc gcfed dcag fgc
|
||||
fcbde fbeacgd afedb da fcegda dabg ebgaf dgfaeb dea febagc | da bfdce egfacb ad
|
||||
fcdeg cdbe fgcab dceagf febcg eb cebdgf geb edfgab dbgcaef | abgcfed bdec gdcfe cfgdbe
|
||||
degfb ebdacf edbfcg agdfce dbf bd bgcd dgfce gfdcbae abegf | gebfcd fgeab gecdfb gdafcbe
|
||||
egacd abedg decfgba dagceb ca cabe cag dagfcb badfeg cegfd | gca caeb cfgde ca
|
||||
gfa ebafd fg gafdbec gaecfb gbdfa edfg gaedbf bdgca ecadfb | fbagec fecabd caegbf fg
|
||||
dfgce cgfbe cefad bfdace fcaged cdg badceg fdceagb dg afdg | gcfbe dg gadf edfabc
|
||||
dfgbc cbfeda bdgcfe fdb efbg bf gcedb fdaecgb gdecba fgadc | bgdafec bgcde fbgdc agdfc
|
||||
fgecd dbegfac adbfgc fa bdcage acegb eacgf efab fca fceabg | gafce af gdcbea af
|
||||
fgdacb fbdec adb gfda acbdegf edbcga cfgba da cbgefa cadfb | gbcfea bgcfda da dab
|
||||
fbcdg abfcdg cfegbda ed dbcaef gedcfb aecgb dcegb ced egdf | cabfgde egcdfb fbcade dgcfab
|
||||
dbec fcd cegbdf dc fdacgeb abdfg baefcg gbfcd dafgce gfbec | dcf cfd fcd agefcb
|
||||
fcdeg gdefb cfgadbe fb bef bfcg edfacb fecdgb gcdfea gadeb | efb feb fbcg dabge
|
||||
acebd dacfg bdf agdcbfe gcafdb fcegad afgdbe bcfg bfcad bf | dbf bdaec bf febacdg
|
||||
acdegf bdfa afdebg febcga gaefb fd fed dgefcab bedgf edbcg | efgdab aecdgf cedgbfa def
|
||||
ecdfabg dfge cedfba fcadgb fgabd ebgfad fea egafb bcgae ef | efgdbca eagcfdb defg bfgda
|
||||
efacgd bfda bcadg gab gbceadf ab cfbdga gadfc bcgfae dgbec | fgecad dbaf ba abfgdec
|
||||
bcgaed fbgc edcfg dgbecf fgdae dgc cg abdcef gfcbdea ebfdc | cg cdfeb cg edbcfag
|
||||
cagb fgcdeab gdebaf fcegd ecabfd acfeg ag afceb fga acgbfe | ga agf bcadfe fag
|
||||
fbgde efbagc ecgd efdgabc ebdcf fdcgbe abfdg fcbead egb eg | dcge cedbgf fbgad acegfbd
|
||||
febadcg cfdbge bgcef gecd ed gbdaf bfdeg deb gfabce fcbead | efdbca ed fgcbe cebdaf
|
||||
eagbc cgde cafbg abdge fbdgae gacedb aec ec acefbgd abcefd | bgacf cgbfeda agbed dgec
|
||||
efgbdca gfdb cadbfg dag dg degfac bcdaef gdacb bfcad agebc | gda dfagecb gcfdea dag
|
||||
gefab bfde acbfgde gfdac ebfgad bfgeca aegbcd eda gfade de | gafbce gcfeabd aefgd fgbcae
|
||||
gaecfb cdebgf fec ebcafgd bgecad cf debgc bfead ebfdc cgdf | cdbfe gfcd egbdca edfcgb
|
||||
cfdeba bfgd gcedfa gbdae dgefcab cbega dg febadg agd bdaef | dfgb adg gecdfa fcebda
|
||||
dea bgdeaf da befdc gdcfaeb ecdbga abecd gacd bgafce eagcb | aedcb facebg abfecdg bagefdc
|
||||
gcebf dfbae dbgcfe egdc dgebcaf febcd bcd cagfeb fdgcba dc | bcd efcbd daefb agbdfce
|
||||
fa acged bdfec afeg gcfadb bfdagce ecgafd caf acdfe dgaecb | debfc af afge adegc
|
||||
bacfdg fadbe egbdfc ba bage acefd baf bgdafe fgebd gdacbef | dbfage bgedf aedgbf acedf
|
||||
acgb dgcbfa dba edgbfac acdefb begdf bdgfa dceafg dcagf ba | abd dfbge abd gacb
|
||||
gcdea gc agfdce egdfa egcf fbeagd aecbd dgc fcebgad cagfbd | acebd egcf defag gfadceb
|
||||
fab begadc ebcad dfbea gfcdab acdfgbe fa fedgb adcfbe feca | cbgead bfcdega fba gbadce
|
||||
gb efcagd fgcad cfbg bedca abg fcgbda dgbcafe acbgd bdafeg | abcdgf bcgf cgfb bg
|
||||
fbcagd fcdae beacgf gf agf baecdg fecag bgfe cagdbef gbcea | edbagfc ebfg gebf bgcae
|
||||
cdgfea bdeacf aefcgb dbca beafc bcgdefa ebdgf ad defab ade | dbcgefa da ade bacd
|
||||
bcgaedf badecg cfegb afceg dcbf egdbfa gcedb gbf bf fgcdbe | bagfed bdagfe fdbc gefcbd
|
||||
cegba bgeda cgefa cbde fegadb dagcbe acfgdb cb cbg ecbdafg | cdegabf ebgda bfgade ebgac
|
||||
afbdg gdabec gcafdeb fc cfdeba bcf fgebdc cefg gcdbf ecdbg | fecg cdbefg gdbfc gfce
|
||||
bgdfa egbf bcdgfa fe dfcbea aef feadgb edcag dagef afdcegb | fea cbedfa acdfgeb dfgeab
|
||||
eacgfd caegdb gbfecad bdfce edcfa dgaf fea fa egdac aegbcf | af fa edbcf gdeacbf
|
||||
baefg fedabcg gbfac gacbfe cb dfageb dcfag cgb bcea cfdegb | cabe eabc gfacd fgdcabe
|
||||
fgdeac cgd ebdfga agefdbc bfcegd cdgbf cd cfabg dceb befgd | cgd cfgab fdgeb efbgd
|
||||
aedgbf cgebda dbcagf gbf gbefd gdecf gdfabec fb eabdg feab | bf fbea cefdagb adgbe
|
||||
fcgea fbgedca gbecfa efbadc efgd fcagd df cdfaeg fdc acgdb | efgac fcd dfceba fegac
|
||||
egdfac cab cadbf gbdaf bc eadcf dcebagf dbecag fbdace cebf | cedabfg cgbaed bc efacbdg
|
||||
be abcged afcgb ebg bgefc gebfcd cgefd efdb gdeafc daecgbf | gabedc dbeafcg debf febcadg
|
||||
dgebafc cefdbg db edfb fcgdb fdceg dgecfa bdc abcfg baecdg | fegdca baecdfg bcd bd
|
||||
fbgead cfab cdbgefa agcbdf aedgc fgcbd fa fagcd ecgbdf gaf | adgcebf gaf gaf af
|
||||
debagfc eb fcedba ebc cgdab efdgac befa eadcf edabc gdbefc | bcdagfe fbae ecadb eabf
|
||||
gaedcb bfcgd bcegf bagdcf fd aedfgbc bfd cbdga cabefd adfg | ecfbda cbfgda cfbadg fbgcd
|
||||
agdcfbe bcfega cbeag ge dacfeb facged bcaef gbdac gce efbg | feabc acfbdeg aefbc gce
|
||||
febcdg egdacb bedcf debfacg abdfce ba bae fbeda gdfea acfb | eadbf ab ab eab
|
||||
cdfbg dfbcae dcabe egba ag cgdfea abdcg aefcdgb cga decagb | defabc edacb cbfgd ag
|
||||
fgac dfgec eag cfbdge bacde ag abdgef bagfdec dcgfae agcde | aecbdgf gcaf efcgd befcdg
|
||||
de gecad fbcgae gcafd dge edfbcg eadb eacfdbg bcedag acbge | gabce fcegba bgfcead ed
|
||||
gbacd dbefcg fdcgae edgca afdeg aecf egc gfaedb dcfagbe ce | feac acegd caefbdg aecf
|
||||
egacbd aedbc dagbc fcdagb ec bacefdg ace dcge ecfagb febda | afecgb fgdbac bcade cea
|
||||
ceadgb cgaedf bfdge cfg cf fdgbc dgabc cfdabg gdcebaf bacf | gebdf fdeacg dafbgec cgf
|
||||
bgfda gdcfae afce bfecgd ac acdfg afebdgc dgefc bdcaeg cag | gdbfec gcedf gfdaceb cegdab
|
||||
fa fgeabdc bfga faedb fad ebgdfa daceb fgbcde fgdeb dafcge | efdab gcdfeb fa gabf
|
||||
ebfc fb aedbgc ebagdf fab cgfeab gcdfeba acbeg abcfg gfdca | gbfac bgfeac bfa bcfga
|
||||
fagdec gadebc cg cabfegd agdfb cbge dbeac cdfabe adcbg cgd | acgbed dgfeabc fdeacb dgbacef
|
||||
fgbdc gbedaf bdgaf dfc cbfadg gfceb degcfa dc bacd gbafcde | dcf egfdca cd cdegaf
|
||||
fcb aebf bf cafgb efgabc cgadbe egbadfc egbca gcfebd acdgf | beacgfd gebfcd dfbgec bf
|
||||
bfgcd deb bfacdg ed fcebgd baefg dbaecfg efdc dabecg fdgbe | de gebaf dbcgfe bde
|
||||
facgdbe gda ebdfag gabdf da cagfeb gebaf deaf dbagec dcfbg | egfba dgebca aefd cgdbf
|
||||
deabg eg gdfacb bdfea egd gebfdca ecdgab acge dacbg cefgbd | eg dgcbef agcdb fadbceg
|
||||
cafbged feacb gbafd dc gfdc agdcbf fcabd deabgf cad acgedb | fdcba egbfdac cad dca
|
||||
dfagce fbd eabdfc gdfeb ebgfa dfabcge fdgce cedfbg bcgd bd | cdbg agbcefd db db
|
||||
fdagec fcg gf gbace efbgacd ecgbfd dfcea caefg dagf dbecaf | acdegfb fg gbdfaec fadg
|
||||
edfag bgfced dga ag cfbgdea bfdcag bfged decfa afedbg bgae | abeg dgaef ag edfgb
|
||||
dcaegb fageb cdga begda adbce gd dge gbecafd cabfed cgfebd | gdaebc ged egd dcga
|
||||
cfb agebfc fegb fb adcef afbec ebgdca bafdgc gbcea fdbeagc | ebfg gabce fbc agfdceb
|
||||
fdcega cbgfea febg agdebfc cfe afecb gbcae ef bcdfa acgedb | fbgdeac egbf acfgeb bfge
|
||||
fbadge dfgebc fbgacde bg fdage afdcge cedba agbf bge dgbea | adgbe fgba gabf fceagd
|
||||
cfbda bgedca fgdcba abcfe dc agbfd dbc fdgc facbged dagfeb | cd fbcda fdcab fdgc
|
||||
cdefa fbgdce aebdg geacd ebcdgfa gc cdg baegdc febdag gbac | fdeca cg dgfbcae bcgfde
|
||||
gcadeb ef ecbfga acbgfed fbdga bcade dafcbe dcfe deabf feb | fdegacb agdbf fgbedac fcdbaeg
|
||||
adgc fac ca gdfcae cfdegb gcdef adcfbe dgefcba cagef abgef | gcadbfe feabdc cdefg bgdeafc
|
||||
cfdeba dega fga gadfec cdfabeg aecbfg cbdfg ag faedc dfcag | ag ga acfed cebfad
|
||||
efcgb feagdc gdfbea fadc ac cea gadbfce cfgae aedgbc geafd | fcgeabd cafeg cbadge ca
|
||||
ebfda cfgbea cgdbef fbadgec dgcb cedfga dg fdbeg efcgb gfd | fgdeb bfgcde ebfdg dg
|
||||
dcafg facgdb bgfa dbacf ba gdcefa ecfdb cfegdba bac acedbg | gcbdaf fbadc begdac dgcbaf
|
||||
eagf agedbcf acdegb abg gcfba fcegb befgcd fbcda ag ebcfag | dbcegfa bfecg cafdebg faeg
|
||||
fbgcd cba fgacdb gabcdef fbgdec gdabc gacf bafdec begad ac | eacbdf badge acb becfad
|
||||
eacbd dabfec dbgfeac ag eagdb fcdbag bga agec dbfge bacged | agecdb bag gebcdaf cdbea
|
||||
bfgcd bcdegfa fdabgc da efgca cfagd efbdca cda dgfecb bgda | acdebf badfcg abdg cafgd
|
||||
efcbgd cadefg cfegd dcgba cafedgb cagfd gaf acef fa bedafg | agf fcedg gefdcb cfdge
|
||||
afdceg dcaf fd dfg aefgc gdbecf cafbdeg dbage ecagfb deafg | adefgc bfdecga fdg cefag
|
||||
bfdacg dagbf abdefcg acfg fbcda beafdc egdab cfdegb gfd gf | bcafgd efgcabd cfga dcaegfb
|
||||
dbage dfagbe cadfeb gfeb bae fabgdc be bafdg cdgea bgdfaec | fedacbg eb dfcbea eab
|
||||
gebfd cfedga begfa dagbfc fgeadcb ecdgbf bced edfgc dgb db | dbec gadcfb db aefbg
|
||||
dbcg fbagc bcf bc cdaebgf aegbdf faecg fdcaeb cdafbg afbgd | adfbg fadebgc dgbafc febagd
|
||||
60
2021/08.py
Normal file
60
2021/08.py
Normal file
@@ -0,0 +1,60 @@
|
||||
data = open("./2021/08.input")
|
||||
lines = data.readlines()
|
||||
|
||||
pattern = []
|
||||
output = []
|
||||
|
||||
for line in lines:
|
||||
split_line = line.split("|")
|
||||
pattern.append(["".join(sorted(c)) for c in split_line[0].split()])
|
||||
output.append(["".join(sorted(c)) for c in split_line[1].split()])
|
||||
|
||||
data.close()
|
||||
|
||||
result = 0
|
||||
|
||||
for i in range(len(pattern)):
|
||||
digits = {}
|
||||
|
||||
while len(digits) < 10:
|
||||
for digit in pattern[i]:
|
||||
# trivial cases
|
||||
if len(digit) == 2 and 1 not in digits:
|
||||
digits[1] = digit
|
||||
continue
|
||||
if len(digit) == 3 and 7 not in digits:
|
||||
digits[7] = digit
|
||||
continue
|
||||
if len(digit) == 4 and 4 not in digits:
|
||||
digits[4] = digit
|
||||
continue
|
||||
if len(digit) == 7 and 8 not in digits:
|
||||
digits[8] = digit
|
||||
continue
|
||||
|
||||
# either 2 or 5 or 3
|
||||
if len(digit) == 5:
|
||||
if 7 in digits and all([i in list(digit) for i in list(digits.get(7))]):
|
||||
digits[3] = digit
|
||||
elif 9 in digits and all([i in list(digits.get(9)) for i in list(digit)]):
|
||||
digits[5] = digit
|
||||
elif 9 in digits:
|
||||
digits[2] = digit
|
||||
|
||||
# either 0 or 6 or 9
|
||||
if len(digit) == 6:
|
||||
if 3 in digits and all([i in list(digit) for i in list(digits.get(3))]):
|
||||
digits[9] = digit
|
||||
elif 5 in digits and sum([i in list(digits.get(5)) for i in list(digit)]) == 5:
|
||||
digits[6] = digit
|
||||
elif 5 in digits and sum([i in list(digits.get(5)) for i in list(digit)]) == 4:
|
||||
digits[0] = digit
|
||||
|
||||
out_num_1 = []
|
||||
|
||||
for out_pos in range(4):
|
||||
out_num_1.append([k for k, v in digits.items() if v == output[i][out_pos]][0])
|
||||
|
||||
result += int("".join([str(c) for c in out_num_1]))
|
||||
|
||||
print(result)
|
||||
10
2021/08.test
Normal file
10
2021/08.test
Normal file
@@ -0,0 +1,10 @@
|
||||
be cfbegad cbdgef fgaecd cgeb fdcge agebfd fecdb fabcd edb | fdgacbe cefdb cefbgd gcbe
|
||||
edbfga begcd cbg gc gcadebf fbgde acbgfd abcde gfcbed gfec | fcgedb cgb dgebacf gc
|
||||
fgaebd cg bdaec gdafb agbcfd gdcbef bgcad gfac gcb cdgabef | cg cg fdcagb cbg
|
||||
fbegcd cbd adcefb dageb afcb bc aefdc ecdab fgdeca fcdbega | efabcd cedba gadfec cb
|
||||
aecbfdg fbg gf bafeg dbefa fcge gcbea fcaegb dgceab fcbdga | gecf egdcabf bgf bfgea
|
||||
fgeab ca afcebg bdacfeg cfaedg gcfdb baec bfadeg bafgc acf | gebdcfa ecba ca fadegcb
|
||||
dbcfg fgd bdegcaf fgec aegbdf ecdfab fbedc dacgb gdcebf gf | cefg dcbef fcge gbcadfe
|
||||
bdfegc cbegaf gecbf dfcage bdacg ed bedf ced adcbefg gebcd | ed bcgafe cdgba cbgef
|
||||
egadfb cdbfeg cegd fecab cgb gbdefca cg fgcdab egfdb bfceg | gbdfcae bgc cg cgb
|
||||
gcafb gcf dcaebfg ecagb gf abcdeg gaef cafbge fdbac fegbdc | fgae cfgab fg bagce
|
||||
Reference in New Issue
Block a user