Added Day3-1
This commit is contained in:
82
Day3-1.cpp
Normal file
82
Day3-1.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
//Fun/AdventCalendar2020/Day2-2.cpp
|
||||
//Matthew Ellison
|
||||
// Created: 12-02-20
|
||||
//Modified: 12-02-20
|
||||
//In the given pattern '.' represents open space and # represents a tree
|
||||
//Going in a right 3 down 1 pattern how many trees will you find? (On those specific points, not in between)
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "Stopwatch.hpp"
|
||||
|
||||
|
||||
std::vector<std::vector<char>> map;
|
||||
|
||||
|
||||
void importData(){
|
||||
std::ifstream inputFile;
|
||||
inputFile.open("inputs/Day3.txt");
|
||||
|
||||
//Loop until you find the end of the file
|
||||
while(!inputFile.eof()){
|
||||
//Put the next line of the file into a string
|
||||
std::string currentLine;
|
||||
inputFile >> currentLine;
|
||||
//Put every character in the string into a new array slot
|
||||
std::vector<char> newVector;
|
||||
for(char ch : currentLine){
|
||||
newVector.push_back(ch);
|
||||
}
|
||||
//Put the new vector in the large vector
|
||||
map.push_back(newVector);
|
||||
}
|
||||
}
|
||||
|
||||
int main(){
|
||||
mee::Stopwatch timer;
|
||||
//Get the data from the file
|
||||
importData();
|
||||
|
||||
//Start the timer
|
||||
timer.start();
|
||||
|
||||
|
||||
//Starting at 0,0 see how many #'s you find going 3 over and 1 down
|
||||
//When you reach the right side of the array it just repeats so you can % the number
|
||||
int column = 0; //The column on the map we are currently on
|
||||
int row = 0; //The row on the map we are currently on
|
||||
int numTrees = 0; //The number of trees on this path
|
||||
while(row < map.size()){
|
||||
char ch = map[row][column % map[row].size()];
|
||||
if(ch == '#'){
|
||||
++numTrees;
|
||||
}
|
||||
else if(ch == '.'){
|
||||
//Do nothing
|
||||
}
|
||||
else{
|
||||
exit(1);
|
||||
}
|
||||
//Advance the row and column
|
||||
row += 1;
|
||||
column += 3;
|
||||
}
|
||||
|
||||
|
||||
//Stop the timer
|
||||
timer.stop();
|
||||
|
||||
//Print the results
|
||||
std::cout << "There are " << numTrees << " trees on this path"
|
||||
<< "\nIt took " << timer.getStr() << " to finish this problem" << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Results:
|
||||
There are 195 trees on this path
|
||||
It took 0.000 nanoseconds to finish this problem
|
||||
*/
|
||||
323
inputs/Day3.txt
Normal file
323
inputs/Day3.txt
Normal file
@@ -0,0 +1,323 @@
|
||||
.#..#....##...#....#.....#.#...
|
||||
........##....#..#..##....#.#..
|
||||
......##......##.........#....#
|
||||
...#.....#....##.......#.#....#
|
||||
.#.###.#.#..#.....##..#....#.#.
|
||||
##.........##.....####......#..
|
||||
#...#..........#.##............
|
||||
####............#..........#.#.
|
||||
......#......#....##...#..##...
|
||||
#..#....#...#......#......####.
|
||||
......#..........#.........#.#.
|
||||
...##.......#..#.#..#..#....#..
|
||||
..####....#.#...............##.
|
||||
...###........#.....#..........
|
||||
#..#.##...##.#..##...##...#....
|
||||
.###........#.##..#.#.....#....
|
||||
.#.......#..##.......#......#..
|
||||
.##...........#..............#.
|
||||
...#..#.....#...........#...#..
|
||||
.....#..............#..#.......
|
||||
.......#....#.....##...........
|
||||
.#...#.............#.....##....
|
||||
....#.#....#...#...#..#..##.#..
|
||||
...#..##..##...#..##........#.#
|
||||
.###..#...#.#.#.#..#...#.......
|
||||
.....##.#.##.#.#.......#..#....
|
||||
.##.#...#.....#...#....#.....#.
|
||||
.....#......###....###..##.#..#
|
||||
.....#..##....#..#.#..#.#.#....
|
||||
#....#.....#.#.......#...#....#
|
||||
...#........#............#..#..
|
||||
#.#...#...#..##.........#...##.
|
||||
.#..#.#...........#....#...#...
|
||||
##..#.#..........#.....###...#.
|
||||
#..#........#.......#.#..#....#
|
||||
..#...##....#..#....#....#.....
|
||||
...#.....##....#...#..#....##.#
|
||||
.....#......#...#.#.#.#.#......
|
||||
###.....#..#.#..........##.#...
|
||||
...............#..#...#.#....#.
|
||||
#.....#.....###....#..........#
|
||||
........#...#.#.......#..#...#.
|
||||
..#.##...#...#...#.........#...
|
||||
#..........#..#.#...........##.
|
||||
##.......#.#.#...#.....#.......
|
||||
...#.#.#.....#......#....##..#.
|
||||
##.#.....#....#...#.......#....
|
||||
.#......##..#.##.#....##..##.#.
|
||||
..#..#......#....#...#..#.#....
|
||||
...#..###...#.......#..#.......
|
||||
...#....#..#....#........##....
|
||||
#...#...#....#.#.........###.#.
|
||||
.#.........##..##...#..........
|
||||
...##.....##.........#..#..#...
|
||||
###....#......#.##..#...#......
|
||||
.###....#.#.......#..#....#...#
|
||||
....####........##....#.#....##
|
||||
..#.....#......##...#..#..#....
|
||||
...#....#...#......#.###.#.#.#.
|
||||
......#.......#..#...#...#.....
|
||||
.#...#...#..#.#..........#.....
|
||||
........#..#.........#.#....##.
|
||||
.#....#.......#........#.##.#..
|
||||
...#...#..#.....#......#...##..
|
||||
.#.................#........###
|
||||
.......#.#..#.#...#............
|
||||
.#.......#..##...#.###....#.##.
|
||||
#........#.###.#..#........##..
|
||||
..##.#....##......##........#..
|
||||
...............#...............
|
||||
#.......#......##..#.#....#.#.#
|
||||
..#.....#......#.#.#...#...##..
|
||||
..........#........#.....##...#
|
||||
#..........#.#..#..##..#......#
|
||||
.......#..###..##.#..##........
|
||||
#.#..##..###..#.###.....#.#..##
|
||||
..#.#........#...###...##......
|
||||
.......##.....##...#.##........
|
||||
.#.#...###..#..#......##....##.
|
||||
#...#.#.....##..#..#..#.#....#.
|
||||
........#......#....#..#.......
|
||||
...#.#.#.#........###....#...#.
|
||||
.#......#...#.......#......#...
|
||||
#...#.##.#..#.#..#.........#...
|
||||
....#......##......#........#.#
|
||||
..##.#.....#..#......#..#......
|
||||
#.##...##...#................#.
|
||||
.....#..#....#....#####........
|
||||
....#..#..#.#...#.#............
|
||||
.........#.#....#..#....##...#.
|
||||
#....#..........#......#......#
|
||||
.......#..............#......#.
|
||||
.#..#...#..#.#.....#.#.#.##.#..
|
||||
.##........#......#...#.##.....
|
||||
...#.##..#........#...........#
|
||||
..#...#..#........#.......#.#..
|
||||
#.....#..#.#..#..#...#...#..#..
|
||||
..................#.#.....#...#
|
||||
........#...##.#..#.........#..
|
||||
.#...##.#...........##.##...#..
|
||||
#......#.........#...#...#...#.
|
||||
..........#.............#...#..
|
||||
#............##.#..#...#.#...#.
|
||||
..#.##...##....##.#...####...#.
|
||||
#.##..#......#.......#.#...##..
|
||||
.....#...#..#......#####.##..#.
|
||||
#...#.#.##..#..##.....#......#.
|
||||
.#..#......#.#.#...#.#...##.#..
|
||||
.#.....#..##........#.....#...#
|
||||
.................#..........#..
|
||||
##.#.#......#.####..#.....#....
|
||||
.#...##.####..#...#............
|
||||
..#...............###....#....#
|
||||
#...#..###..#.#.##...........##
|
||||
...................#..#.....#..
|
||||
...#.##.#...#.....#......#.##..
|
||||
#.#...#.........##.#........#.#
|
||||
.##.......#..#..#.....##....#..
|
||||
......##.#.#..#...#.#..##.....#
|
||||
..#..###...#...#......#.#......
|
||||
..##....#.#...#....#....#..#..#
|
||||
#..##....#........#..##..#..#.#
|
||||
.......#............#....##..#.
|
||||
.#.#..#.........#.#.##......#..
|
||||
#.#....#..##..#..###.#.....##..
|
||||
.###.#......#.....#####...#....
|
||||
#...#.#...##......#...#.#...##.
|
||||
#..#.........#..#............#.
|
||||
...##......##.......##....##...
|
||||
...#...##....###..###.#...#....
|
||||
#.#....#...#.#...##..#........#
|
||||
.#..#..................#....#..
|
||||
#......#..#...##..##...#..##..#
|
||||
...#..#.....#...#........#.#.#.
|
||||
#...#..##....#.....#........#..
|
||||
.##..#....#.....#.#............
|
||||
##..##.#.#.##.#.#..#.#..#....#.
|
||||
#.......#...............#.....#
|
||||
..#.....#..##.....#...##.##....
|
||||
...#..#...#.#.#....#......#....
|
||||
###.#.......#....#....#.#...#..
|
||||
.....###..#...###.#.#..#.......
|
||||
.....#.........##.#....#..##.#.
|
||||
........#....#....#....#.#..##.
|
||||
........###....#.#.........#.#.
|
||||
.#..###..#........#.......##.#.
|
||||
.#.#...........................
|
||||
..#....##...#.#....#....#.#....
|
||||
.#...#...##.#........###....#..
|
||||
#.#....#...#.#.#...##......##..
|
||||
#......#....#...#..#....#...#..
|
||||
...#..##........#.#...##......#
|
||||
....##...........##...#..#..#..
|
||||
......#..#........#..#....##.##
|
||||
.###..#.#.........#.....#......
|
||||
.#..##............#......#.....
|
||||
..##.#.#..#..#.###....#..#..#..
|
||||
....#.#..#.#..##...##.#.#.#.#..
|
||||
....#..#....#...............#..
|
||||
..#...#.##.....##....#..##..#..
|
||||
.......##.#....#.##....#.......
|
||||
.#...#........#...#......#.###.
|
||||
..#....##.......#....#.#...#.#.
|
||||
.....#.....#...##..#....#.#..##
|
||||
..##........##............##...
|
||||
..........#...#.......#.......#
|
||||
.#...............#...#.##......
|
||||
#.##......#....#.##.#..#..#...#
|
||||
......###.........#...#..#....#
|
||||
....#......#...#....#....#...#.
|
||||
#...##...#....#......####....#.
|
||||
.................#......#......
|
||||
..#..........##.......##..#.##.
|
||||
.#.....#.......#...######..#..#
|
||||
....##.#...#...#..........#....
|
||||
.....#.......#...#.#.......###.
|
||||
#...#.###.....#...#.......#....
|
||||
.#.##.####....#.....#.#........
|
||||
.......#.....##............##..
|
||||
..#...#.#.##........#...##...#.
|
||||
........#...####.##..#....#...#
|
||||
#.......#...##.#......#..#...#.
|
||||
......#.........#..###.#.#....#
|
||||
#..##...#...#..#...#...#.....#.
|
||||
.#...#...#.#.................##
|
||||
#......#.....#..#.#..#......##.
|
||||
.......#.##...#.......#.......#
|
||||
.#.#..#..#......#....#.#...#.#.
|
||||
..#...#.#..#......#...#.#.#....
|
||||
........#..............#..##...
|
||||
.##..#..##.#....#.#..###..#..#.
|
||||
..#....#......#...#.#.#....#...
|
||||
...#..#..#....#..#.....##......
|
||||
.#......#...#........##........
|
||||
.#......#..#...##..#..#.#.#....
|
||||
.##......#.##.........#....#...
|
||||
....#....##..#..###.#..#......#
|
||||
....#....##..........#.#...#...
|
||||
..##.#.............#..#.....#..
|
||||
..#.....#....#....#.......##...
|
||||
.##.#....#....#...#....##.#....
|
||||
...#.#..#.###.#..#.#.......#.#.
|
||||
.....##.....#.......#......#...
|
||||
.#.....#..#.#.#..#........##...
|
||||
##.....................#.......
|
||||
..###............#........##..#
|
||||
.#.##.....#..#..#..#.#.......#.
|
||||
.##...................#..#..#..
|
||||
..#.#...#..........##..#..##...
|
||||
#......#..#..#.#..#......#..#.#
|
||||
.#...#....#.#.........#.....#.#
|
||||
#..........#.#....#....#.#.#.#.
|
||||
#.....#..........#..#....#..#..
|
||||
........#....#..##.#.#.......#.
|
||||
.#.......##.......#..##...#....
|
||||
...#..##..#......##.#..#.#..#..
|
||||
.#..#.......#..##..#......#....
|
||||
###.#.........#......#.#.......
|
||||
...#......#....#..##..#.#..#...
|
||||
......#..#.....#.........#....#
|
||||
....#..#..#..#.........##.#..#.
|
||||
......#..#..#..#....#...#..##.#
|
||||
......##.#..#..#.#.......#.#.##
|
||||
..#.....#...#..#....#..........
|
||||
.##..##.....##.......#.##.#....
|
||||
...#..#.......#..#.......#.....
|
||||
.........#....##..#.#....#.#...
|
||||
.....#..#...#.........#....#..#
|
||||
.........##.....#.#...#.###...#
|
||||
.#......####..##...#..#........
|
||||
.#......##....#.....#..........
|
||||
##.......##.#.......#..........
|
||||
.#......#.#.#.#....#........#..
|
||||
......##..##...#...#...........
|
||||
.#...#.#..#......#.#.#.#....#.#
|
||||
...#.........#.....#...###.....
|
||||
#.....##....#.##...#....#......
|
||||
.#..#...#..##.###.#.#.#...#....
|
||||
...#......#..#....#...#...#....
|
||||
.#..............#.....#........
|
||||
..##...#.....#..#.....#..#.#...
|
||||
.##...#....#.##...#.........##.
|
||||
..#......#...##..#.....#......#
|
||||
#.#..............#...#...#..#.#
|
||||
..#..#.#...........#...#.#.#...
|
||||
#..........#...#..#..##..#....#
|
||||
............#...#........###...
|
||||
.........#.....#.....#..#......
|
||||
#...#.#..##......#.#####.......
|
||||
...#........#..............#...
|
||||
......###.#.#.....#..#....##.#.
|
||||
.#.#.#..##....###.#..#....##...
|
||||
.#....#.##............##.#.....
|
||||
##...##.#......#.#.##.##...###.
|
||||
.......#.#........#.....#......
|
||||
....#.....#......#...#.#..#....
|
||||
.#.........#....#...#...#...#.#
|
||||
#.......#................#..#..
|
||||
.##...........#.##...##....#...
|
||||
#...#.#...###.........#.......#
|
||||
.#...#.........................
|
||||
#.......#...#.....##.##...##...
|
||||
.#.#....#.......#.#.##.#....#..
|
||||
#..#....#...#.#.##.#....#....#.
|
||||
.##.....#.#..#...#..#..........
|
||||
.............#...#.#..#........
|
||||
....#........#..#......##......
|
||||
#.....#....#.....#.......#.....
|
||||
........#.......##....#........
|
||||
.#.#..##.......................
|
||||
##..#.....#........#.....#.....
|
||||
.#......#.#...#.#..........#..#
|
||||
.#..#.....#..#..........#.###..
|
||||
......#.#..#.#.......#.#.....#.
|
||||
.#....#......#..##.............
|
||||
#...##.........#.#.#...#.....#.
|
||||
..#................#..#..###...
|
||||
#.....#....##.#..##......#.#.#.
|
||||
..#....#...#...#...............
|
||||
#................#....#...#.#..
|
||||
................#...#.....#.##.
|
||||
..#.#.#..#.##.......##.......##
|
||||
...........#......##.......###.
|
||||
...#.......##.........#.#.#.#..
|
||||
.#...#.#..#...#.#.....#........
|
||||
............#####......##......
|
||||
....###....#.##...#..#.........
|
||||
..#.#...#.......#...#...#.###..
|
||||
..............##..#...#....#...
|
||||
#.#..##...#....##.........#....
|
||||
..#...#.....#...........#...#..
|
||||
#.#..###..#.#..#........#..#.#.
|
||||
...###...##...#...#.#.........#
|
||||
..#........#.....#.#.#.......#.
|
||||
...#..#..........#.....#...#...
|
||||
....#..#.....#....##....#.##...
|
||||
.....##..#...#.#..##...#...##.#
|
||||
...........###...##....#.......
|
||||
##..#.#..#..#...#....##..#..#..
|
||||
##...#.#......##.#..#...#....#.
|
||||
.#.......#...........#...#.....
|
||||
#...#....#.......#...#.##......
|
||||
.........#.......#...#.#...#...
|
||||
.......##.#..................#.
|
||||
........#..#.#......#.....#....
|
||||
.....#.#.#.#....##...#.###.....
|
||||
#.#.........#..#.#.#.#.#.......
|
||||
.............#....#.......###..
|
||||
.#.##....#....##.........####..
|
||||
...........###.#...............
|
||||
#.........##.#.#..#.....##.###.
|
||||
.#.#.....#.#...#.....##...#...#
|
||||
#....#...#.........#.#.......#.
|
||||
.....#.###..#....#...##..#...#.
|
||||
#........#....#.#..#....#.#....
|
||||
#.#..##......#.........#.#.....
|
||||
##..#.....#......###....#....#.
|
||||
#.#.####..#.#.#......##...#..#.
|
||||
....#.....#.#.#.#.....#........
|
||||
..##..........#......#.#.#..#..
|
||||
.#...##.##.........#.........##
|
||||
..#.#.#..........#..#..#......#
|
||||
###..###..#...#................
|
||||
Reference in New Issue
Block a user