aboutsummaryrefslogtreecommitdiff
path: root/2016/src/day09.cpp
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2025-01-17 16:30:40 +0100
committerThomas Schmucker <ts@its1.de>2025-01-17 16:30:40 +0100
commit61ec97b74c1ea875034c8984d1a146e1c4046e67 (patch)
treea0912da45921832c584751f23016484b6ff6499f /2016/src/day09.cpp
parentb8af8aa8a126b5b966b7d9f50ffec626e8aa1045 (diff)
downloadadvent-of-code-61ec97b74c1ea875034c8984d1a146e1c4046e67.tar.gz
advent-of-code-61ec97b74c1ea875034c8984d1a146e1c4046e67.tar.bz2
advent-of-code-61ec97b74c1ea875034c8984d1a146e1c4046e67.zip
aoc 2016, day 9
Diffstat (limited to '2016/src/day09.cpp')
-rw-r--r--2016/src/day09.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/2016/src/day09.cpp b/2016/src/day09.cpp
index e0b0468..10bf640 100644
--- a/2016/src/day09.cpp
+++ b/2016/src/day09.cpp
@@ -17,10 +17,7 @@ part1(string_view line)
17{ 17{
18 size_t len = 0; 18 size_t len = 0;
19 for ( size_t i = 0; i != line.length(); ) { 19 for ( size_t i = 0; i != line.length(); ) {
20 size_t lhs = 0; 20 if ( size_t lhs = 0, rhs = 0; sscanf(&line[i], "(%zux%zu)", &lhs, &rhs) == 2 ) {
21 size_t rhs = 0;
22
23 if ( sscanf(&line[i], "(%zux%zu)", &lhs, &rhs) == 2 ) {
24 i = line.find(')', i) + 1 + lhs; 21 i = line.find(')', i) + 1 + lhs;
25 len += lhs * rhs; 22 len += lhs * rhs;
26 } 23 }
@@ -38,10 +35,7 @@ part2(string_view line)
38 function<size_t(string_view)> part2_rec = [&](string_view line) { 35 function<size_t(string_view)> part2_rec = [&](string_view line) {
39 size_t len = 0; 36 size_t len = 0;
40 for ( size_t i = 0; i != line.length(); ) { 37 for ( size_t i = 0; i != line.length(); ) {
41 size_t lhs = 0; 38 if ( size_t lhs = 0, rhs = 0; sscanf(&line[i], "(%zux%zu)", &lhs, &rhs) == 2 ) {
42 size_t rhs = 0;
43
44 if ( sscanf(&line[i], "(%zux%zu)", &lhs, &rhs) == 2 ) {
45 i = line.find(')', i) + 1; 39 i = line.find(')', i) + 1;
46 len += part2_rec({ &line[i], lhs }) * rhs; 40 len += part2_rec({ &line[i], lhs }) * rhs;
47 i += lhs; 41 i += lhs;