-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask3.cpp
More file actions
69 lines (61 loc) · 1.95 KB
/
task3.cpp
File metadata and controls
69 lines (61 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// https://www.codingame.com/ide/puzzle/power-of-thor-episode-1
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
void chooseDirection(int light_x, int light_y,
int& current_tx, int& current_ty) {
if (current_tx == light_x && current_ty == light_y) return;
else if (current_tx > light_x && current_ty > light_y) {
current_tx--;
current_ty--;
std::cout << "NW" << std::endl;
}
else if (current_tx < light_x && current_ty > light_y) {
current_tx++;
current_ty--;
std::cout << "NE" << std::endl;
}
else if (current_tx > light_x && current_ty < light_y) {
current_tx--;
current_ty++;
std::cout << "SW" << std::endl;
}
else if (current_tx < light_x && current_ty < light_y) {
current_tx++;
current_ty++;
std::cout << "SE" << std::endl;
}
else if (current_tx == light_x && current_ty > light_y) {
current_ty--;
std::cout << "N" << std::endl;
}
else if (current_tx == light_x && current_ty < light_y) {
current_ty++;
std::cout << "S" << std::endl;
}
else if (current_tx > light_x && current_ty == light_y) {
current_tx--;
std::cout << "W" << std::endl;
}
else if (current_tx < light_x && current_ty == light_y) {
current_tx++;
std::cout << "E" << std::endl;
}
}
int main()
{
int light_x;
int light_y;
int initial_tx;
int initial_ty;
std::cin >> light_x >> light_y >> initial_tx >> initial_ty; std::cin.ignore();
int current_tx = initial_tx;
int current_ty = initial_ty;
while (1) {
int remaining_turns; // The remaining amount of turns Thor can move. Do not remove this line.
std::cin >> remaining_turns; std::cin.ignore();
chooseDirection(light_x, light_y, current_tx, current_ty);
// A single line providing the move to be made: N NE E SE S SW W or NW
}
}