aboutsummaryrefslogtreecommitdiff
path: root/src/2015/day5/aoc.cpp
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2022-03-16 15:50:16 +0800
committerkaiwu <kaiwu2004@gmail.com>2022-03-16 15:50:16 +0800
commit48da21bd1e54f1efd0bbca23b67cced4a94d1447 (patch)
treef24146ea4192dfc4fc14d586e89e4428a1662f0b /src/2015/day5/aoc.cpp
parentc69f8f28285fd507aa27ae0a18b614f371a2ae1d (diff)
downloadadvent-of-code-48da21bd1e54f1efd0bbca23b67cced4a94d1447.tar.gz
advent-of-code-48da21bd1e54f1efd0bbca23b67cced4a94d1447.zip
line view
Diffstat (limited to 'src/2015/day5/aoc.cpp')
-rw-r--r--src/2015/day5/aoc.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/2015/day5/aoc.cpp b/src/2015/day5/aoc.cpp
index aa0213f..6c5ca47 100644
--- a/src/2015/day5/aoc.cpp
+++ b/src/2015/day5/aoc.cpp
@@ -25,8 +25,20 @@ bool is_nice(line_view lv, int repeated) {
return false;
}
+bool is_interleaved(line_view lv) {
+ const char* p = lv.line;
+ while (p + 3 <= lv.line + lv.length) {
+ if (*p == *(p + 2)) {
+ return true;
+ } else {
+ p++;
+ }
+ }
+ return false;
+}
+
bool is_nice(line_view lv, const char* disallowed[], size_t size) {
- return not std::any_of(disallowed, disallowed + size, [&lv](const char* s) -> bool { return lv.contains(s); });
+ return std::all_of(disallowed, disallowed + size, [&lv](const char* s) -> bool { return lv.contains(s) == nullptr; });
}
int day5(line_view file) {