Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Nishinoya Kun
- #include <bits/stdc++.h>
- #define sz(X) int(X.size())
- #define in "input.txt"
- #define out "output.txt"
- #define all(X) X.begin(), X.end()
- #define REP(it, base, dest) for (int it = (base); it < (dest); it++)
- #define PER(it, base, dest) for (int it = (base); it > (dest); it--)
- const int N = int(1e3) + 500;
- using namespace std;
- int di[4] = {0, 0, 1, -1}, dj[4] = {1, -1, 0, 0};
- string path[4] = {"EAST", "WEST", "SOUTH", "NORTH"}, s;
- bool was[N][N], ok;
- void dfs(int i, int j) {
- was[i][j] = true;
- REP(pos, 0, 4) {
- int newi = i + di[pos], newj = j + dj[pos];
- if (!was[newi][newj]) {
- cout << path[pos] << char(10);
- cout.flush();
- cin >> s;
- if (s == "EMPTY") {
- dfs(newi, newj);
- }
- }
- }
- }
- int main() {
- srand(time(NULL));
- double start = clock();
- //freopen(in, "r", stdin);
- //freopen(out, "w", stdout);
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- // solve
- dfs(30, 30);
- cout << "DONE";
- cerr << "Time " << (clock() - start) * 1.0 / CLOCKS_PER_SEC << "s\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement