Finished day 9 part 1 aoc
This commit is contained in:
@@ -5,50 +5,39 @@ using namespace std;
|
|||||||
using Coords = pair<int, int>;
|
using Coords = pair<int, int>;
|
||||||
|
|
||||||
void moveTail(const Coords& head, Coords& tail){
|
void moveTail(const Coords& head, Coords& tail){
|
||||||
if(head.first - tail.first > 1){
|
if(abs(head.first - tail.first) <= 1 && abs(head.second - tail.second) <= 1){
|
||||||
tail.first++;
|
return;
|
||||||
} else if(head.first - tail.first < -1){
|
|
||||||
tail.first--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(head.second - tail.second > 1){
|
if(head.first == tail.first){
|
||||||
|
if(head.second > tail.second){
|
||||||
|
tail.second++;
|
||||||
|
} else{
|
||||||
|
tail.second--;
|
||||||
|
}
|
||||||
|
} else if(head.second == tail.second){
|
||||||
|
if(head.first > tail.first){
|
||||||
|
tail.first++;
|
||||||
|
} else{
|
||||||
|
tail.first--;
|
||||||
|
}
|
||||||
|
} else if(head.first > tail.first && head.second > tail.second){
|
||||||
|
tail.first++;
|
||||||
tail.second++;
|
tail.second++;
|
||||||
} else if(head.second - tail.second < -1){
|
} else if(head.first < tail.first && head.second > tail.second){
|
||||||
|
tail.first--;
|
||||||
|
tail.second++;
|
||||||
|
} else if(head.first > tail.first && head.second < tail.second){
|
||||||
|
tail.first++;
|
||||||
|
tail.second--;
|
||||||
|
} else if(head.first < tail.first && head.second < tail.second){
|
||||||
|
tail.first--;
|
||||||
tail.second--;
|
tail.second--;
|
||||||
}
|
}
|
||||||
// if(abs(head.first - tail.first) > 1 || abs(head.second - tail.second) > 1){
|
|
||||||
// if(abs(head.first - tail.first) >= 1 && abs(head.second - tail.second) >= 1){
|
|
||||||
// if(head.first > tail.first && head.second > tail.second){
|
|
||||||
// tail.first++;
|
|
||||||
// tail.second++;
|
|
||||||
// } else if(head.first > tail.first && head.second < tail.second){
|
|
||||||
// tail.first++;
|
|
||||||
// tail.second--;
|
|
||||||
// } else if(head.first < tail.first && head.second > tail.second){
|
|
||||||
// tail.first--;
|
|
||||||
// tail.second++;
|
|
||||||
// } else{
|
|
||||||
// tail.first--;
|
|
||||||
// tail.second--;
|
|
||||||
// }
|
|
||||||
// } else if(abs(head.first - tail.first > 1)){
|
|
||||||
// if(head.first > tail.first){
|
|
||||||
// tail.first++;
|
|
||||||
// } else{
|
|
||||||
// tail.first--;
|
|
||||||
// }
|
|
||||||
// } else{
|
|
||||||
// if(head.second > tail.second){
|
|
||||||
// tail.second++;
|
|
||||||
// } else{
|
|
||||||
// tail.second--;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
ifstream input_file("test.txt");
|
ifstream input_file("input.txt");
|
||||||
string line;
|
string line;
|
||||||
|
|
||||||
Coords head(0, 0), tail(0, 0);
|
Coords head(0, 0), tail(0, 0);
|
||||||
@@ -75,6 +64,8 @@ int main(){
|
|||||||
moveTail(head, tail);
|
moveTail(head, tail);
|
||||||
visited_by_tail.insert(tail);
|
visited_by_tail.insert(tail);
|
||||||
steps--;
|
steps--;
|
||||||
|
|
||||||
|
// cout << head.first << " " << head.second << " " << tail.first << " " << tail.second << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user