Files
aoc2020/day04/test.cpp
2020-12-05 06:26:33 +01:00

95 lines
2.0 KiB
C++

#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string line;
ifstream myfile("Text.txt");
//byr iyr eye hgt hcl ecl pid cid
/*byr(Birth Year)
iyr(Issue Year)
eyr(Expiration Year)
hgt(Height)
hcl(Hair Color)
ecl(Eye Color)
pid(Passport ID)
cid(Country ID)*/
int valid = 0;
int valid2 = 0;
if (myfile.is_open())
{
string passport;
while (getline(myfile, line))
{
passport += line + " ";
if (line == "") {
bool byr, iyr, eyr, hgt, hcl, ecl, pid;
byr = iyr = eyr = hgt = hcl = ecl = pid = false;
if (passport.find("byr:") != std::string::npos) {
byr = true;
}
if (passport.find("iyr:") != std::string::npos) {
iyr = true;
}
if (passport.find("eyr:") != std::string::npos) {
eyr = true;
}
if (passport.find("hgt:") != std::string::npos) {
hgt = true;
}
if (passport.find("hcl:") != std::string::npos) {
hcl = true;
}
if (passport.find("ecl:") != std::string::npos) {
ecl = true;
}
if (passport.find("pid:") != std::string::npos) {
pid = true;
}
bool a, b;
a = false;
b = false;
if (byr == iyr == eyr == hgt == hcl == ecl == pid == true) {
valid++;
a = true;
}
if (byr == true && iyr == true && eyr == true && hgt == true && hcl == true && ecl == true && pid == true) {
valid2++;
b=true;
}
if (a != b){
cout << (pid == true) << endl;
cout << (ecl == pid == true) << endl;
cout << (hcl == ecl == pid == true) << endl;
cout << (hgt == hcl == ecl == pid == true) << endl;
cout << (eyr == hgt == hcl == ecl == pid == true) << endl;
cout << (iyr == eyr == hgt == hcl == ecl == pid == true) << endl;
cout << (byr == iyr == eyr == hgt == hcl == ecl == pid == true) << endl;
cout << passport;
}
passport = "";
}
}
}
cout << valid;
cout << valid2;
myfile.close();
}