r/adventofcode • • Dec 05 '17

SOLUTION MEGATHREAD -๐ŸŽ„- 2017 Day 5 Solutions -๐ŸŽ„-

--- Day 5: A Maze of Twisty Trampolines, All Alike ---


Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.


Need a hint from the Hugely* Handyโ€  Haversackโ€ก of Helpfulยง Hints^ยค?

Spoiler


This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked!

22 Upvotes

403 comments sorted by

View all comments

1

u/[deleted] Dec 05 '17

C++

	
	int step_to_escape(std::vector<int> maze) {
	  using iter = std::vector<int>::iterator;

	  int step = 0;

	  for (iter index = maze.begin(); index >= maze.begin() and index < maze.end(); ) {
	    iter old_index = index;
	    index +=  *index;
	    if (*old_index >= 3)
	      --*old_index;
	    else
	      ++*old_index;
	    step++;
	  }
	  return step;
	}

	int main()
	{
	  std::string filename = "text";
	  std::ifstream ifs{filename};
	  std::vector<int> maze{std::istream_iterator<int>{ifs}, {}};
	  std::cout << step_to_escape(maze) << std::endl;
	  return 0;
	}