diff --git a/2/puzzle2p2.cpp b/2/puzzle2p2.cpp index fcf6259..390c63c 100644 --- a/2/puzzle2p2.cpp +++ b/2/puzzle2p2.cpp @@ -32,7 +32,6 @@ int main(){ } list currentLevelsBackup = currentLevels; - int numOfLevelsInLine = currentLevels.size(); int numOfLevelsProcessed = 0; auto curListIt = currentLevels.begin(); curListIt++; //point to second item in list @@ -75,12 +74,23 @@ int main(){ dir = DOWN; } - if (dir==UP&&levelGoDown.size()>2){ //if the overall direction goes up and more then 2 leves go down the list is bad + if (dir==UP&&levelGoDown.size()>1){ //if the overall direction goes up and more then 1 level go down the list is bad currentLevels.clear(); - } else if (dir==DOWN&&levelGoesUp.size()>2){ //same as above but opiosite dirrection + } else if (dir==DOWN&&levelGoesUp.size()>1){ //same as above but opiosite dirrection currentLevels.clear(); } + if (levelStaysSame.size()>1){ //cant have more then 1 number the same or the list is bad + currentLevels.clear(); + } + + if (!currentLevels.empty()&&levelStaysSame.size()==1){ + auto itNumberToDelete = currentLevels.begin(); + advance(itNumberToDelete,levelStaysSame.front()); + currentLevels.erase(itNumberToDelete); + listDirty = true; + } + if (!currentLevels.empty()){ if (dir==UP&&levelGoDown.size()==1){ list::iterator itNumberToDelete = currentLevels.begin(); @@ -93,6 +103,8 @@ int main(){ currentLevels.erase(itNumberToDelete); listDirty=true; } + + int numOfLevelsInLine = currentLevels.size(); //need to pull the first one to have something to compare to int prevlevel = currentLevels.front(); @@ -101,7 +113,6 @@ int main(){ for (int level = currentLevels.front(); !currentLevels.empty();level=currentLevels.front()){ if (abs(prevlevel-level)>3) {currentLevels.clear();break;} - if(prevlevel==level){ currentLevels.clear();break;} prevlevel=currentLevels.front(); currentLevels.pop_front(); diff --git a/2/puzzle2p2.exe b/2/puzzle2p2.exe index 12a317c..aa699ec 100644 Binary files a/2/puzzle2p2.exe and b/2/puzzle2p2.exe differ diff --git a/2/puzzle2p2.ilk b/2/puzzle2p2.ilk index 981e714..e69cb09 100644 Binary files a/2/puzzle2p2.ilk and b/2/puzzle2p2.ilk differ diff --git a/2/puzzle2p2.obj b/2/puzzle2p2.obj index a08eb63..f19b79b 100644 Binary files a/2/puzzle2p2.obj and b/2/puzzle2p2.obj differ diff --git a/2/puzzle2p2.pdb b/2/puzzle2p2.pdb index b9d7332..5b20e4e 100644 Binary files a/2/puzzle2p2.pdb and b/2/puzzle2p2.pdb differ diff --git a/2/vc140.pdb b/2/vc140.pdb index e3ac752..ffe014e 100644 Binary files a/2/vc140.pdb and b/2/vc140.pdb differ