Files
contests/advent_of_code/2022/3/main.cpp

62 lines
1.4 KiB
C++

#include <bits/stdc++.h>
using namespace std;
int main(){
ifstream input_file("input.txt");
string line;
unsigned int score = 0;
// while(getline(input_file, line)){
// set<char> items;
// auto l = line.length();
// for(int i = 0; i < l / 2; ++i){
// items.insert(line[i]);
// }
// for(int i = l / 2; i < l; ++i){
// if(items.find(line[i]) != items.end()){
// if(line[i] >= 'a' && line[i] <= 'z'){
// score += line[i] - 'a' + 1;
// } else{
// score += line[i] - 'A' + 1 + 26;
// }
// break;
// }
// }
// }
map<char, int> badges;
int group_counter = 0;
while(getline(input_file, line)){
set<char> items;
for(char c : line){
items.insert(c);
}
for(char c : items){
badges[c] += 1;
if(badges[c] == 3){
if(c >= 'a' && c <= 'z'){
score += c - 'a' + 1;
} else{
score += c - 'A' + 1 + 26;
}
}
}
if(group_counter == 2){
group_counter = 0;
badges.clear();
} else{
group_counter++;
}
}
cout << "Score: " << score << endl;
return 0;
}