File tree 2 files changed +63
-1
lines changed
2 files changed +63
-1
lines changed Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < fstream>
3
+ #include < set>
4
+ #include < string>
5
+ #include < vector>
6
+ #include < map>
7
+
8
+ using namespace std ;
9
+
10
+ map<string,int >dist;
11
+ vector<string> findVec, replaceVec;
12
+ int counter = 0 , counterA = 0 ;
13
+ string original;
14
+ int minDepth = 100000 ,
15
+ maxReplaceLen = 0 ;
16
+
17
+ int main ()
18
+ {
19
+ // process input
20
+ ifstream in (" day19.in" );
21
+ string tempFind, tempReplace, tempWaste;
22
+ while (true )
23
+ {
24
+ in >> tempFind >> tempWaste >> tempReplace;
25
+ if (in.eof ())
26
+ {
27
+ original = tempFind;
28
+ break ;
29
+ }
30
+
31
+ findVec.push_back (tempFind);
32
+ replaceVec.push_back (tempReplace);
33
+
34
+ if (maxReplaceLen < tempReplace.length ())
35
+ maxReplaceLen = tempReplace.length ();
36
+ }
37
+
38
+ // part 1: try all combos and track potentials in set
39
+ set<string> replacements;
40
+ string tempReplacement;
41
+ for (int i = 0 ; i < original.length (); i++)
42
+ {
43
+ // try all replacements
44
+ for (int j = 0 ; j < findVec.size (); j++)
45
+ {
46
+ if (findVec[j].length () + i > original.length ()) continue ;
47
+
48
+ if (original.substr (i, findVec[j].length ()) == findVec[j])
49
+ {
50
+ tempReplacement = original;
51
+ tempReplacement.replace (i, findVec[j].length (), replaceVec[j]);
52
+ replacements.insert (tempReplacement);
53
+ }
54
+ }
55
+ }
56
+
57
+ // output: part 1
58
+ cout << " Part 1: " << replacements.size () << endl;
59
+
60
+ // close out and exit
61
+ return 0 ;
62
+ }
Original file line number Diff line number Diff line change 16
16
17
17
| Event | Stars | Progress |
18
18
| ------------- | ------------- | ------------- |
19
- | 2015 | 34 / 50 | :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : <br > :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : <br > :large_blue_circle : :yellow_circle : :large_blue_circle : :yellow_circle : :large_blue_circle : <br > :large_blue_circle : :large_blue_circle : :large_blue_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : |
19
+ | 2015 | 35 / 50 | :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : <br > :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : :large_blue_circle : <br > :large_blue_circle : :yellow_circle : :large_blue_circle : :yellow_circle : :large_blue_circle : <br > :large_blue_circle : :large_blue_circle : :large_blue_circle : :yellow_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : |
20
20
| 2016 | 0 / 50 | :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : |
21
21
| 2017 | 0 / 50 | :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : |
22
22
| 2018 | 0 / 50 | :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : <br > :red_circle : :red_circle : :red_circle : :red_circle : :red_circle : |
You can’t perform that action at this time.
0 commit comments