From 2d02f553aa4cc4ded630628eccdf34f55937cee5 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Wed, 14 Dec 2016 20:19:02 +0100 Subject: Add 2015 sources --- 2015/day19.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 2015/day19.cpp (limited to '2015/day19.cpp') diff --git a/2015/day19.cpp b/2015/day19.cpp new file mode 100644 index 0000000..7afa3e7 --- /dev/null +++ b/2015/day19.cpp @@ -0,0 +1,89 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; + +bool search(const vector> &repls,const string &target,string from,int depth){ + if(from==target)return true; + if(depth<=0)return false; + int i,j,r,l; + const int fromlen=from.size(),nrepls=repls.size(); + for(i=0;i "<> &repls,const string &target,string from){ + int i,r,j,l; + int depth; + const int fromlen=from.size(),nrepls=repls.size(); + for(depth=0;from!=target;depth++){ + for(i=0;i> repls; + while(true){ + getline(in,line); + if(line.size()==0){ + getline(in,target); + break; + } + if(!in)break; + a=line.find(' '); + b=line.find(' ',a+1); + // repls.emplace_back(line.substr(0,a),line.substr(b+1)); + repls.emplace_back(line.substr(b+1),line.substr(0,a)); //reversed + } + + // repls={{"H","HO"},{"H","OH"},{"O","HH"},{"e","O"},{"e","H"}}; + // repls={{"HO","H"},{"OH","H"},{"HH","O"},{"O","e"},{"H","e"}}; //reversed + // target="HOHOHO"; + + //for(const pair &p : repls)cout<<"repl: "< "<