From 21e1237e93703f632253f042bd5877998d81c507 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 23 Dec 2024 07:55:11 +0100 Subject: Day 23 2024 --- 2024/23/day23a.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 2024/23/day23a.cpp (limited to '2024/23/day23a.cpp') diff --git a/2024/23/day23a.cpp b/2024/23/day23a.cpp new file mode 100644 index 0000000..048a724 --- /dev/null +++ b/2024/23/day23a.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +set computers; +bool m[26*26][26*26]; + +int index(char a, char b) { return (int)(a-'a') + 26*(int)(b-'a'); } +bool t(int i) { return i % 26 == 't' - 'a'; } + +int main() { + string line; + while (getline(cin, line)) { + int i = index(line[0], line[1]); + int j = index(line[3], line[4]); + computers.insert(i); + computers.insert(j); + m[i][j] = m[j][i] = true; + } + + vector cv(computers.begin(), computers.end()); + int tot = 0; + for (unsigned i = 0; i < cv.size(); i++) + for (unsigned j = i+1; j < cv.size(); j++) + for (unsigned k = j+1; k < cv.size(); k++) + tot += m[cv[i]][cv[j]] && m[cv[j]][cv[k]] && m[cv[k]][cv[i]] && + (t(cv[i]) || t(cv[j]) || t(cv[k])); + + cout << tot << endl; + return 0; +} -- cgit v1.3