#include<bits/stdc++.h> using namespace std; map<string,bool> feedback; map<char,int> dire; // N ,S,W,E int dx[4] = {-1,1,0,0}; int dy[4] = {0,0,-1,1}; char mp[500][500]; int xx = 500,yy = 500;//×óÉÏ½Ç int xxx,yyy;//ÓÒÏÂ½Ç void dfs(int x,int y) { mp[x][y] = '.'; for (int i = 0; i < 4; i++) { cout<<"LEFT\n"; char di; cin>>di; int dir = dire[di]; int nexx = x + dx[dir]; int nexy = y + dy[dir]; cout<<"GO\n"; string s; cin>>s; bool flag = feedback[s]; if (!flag) { mp[nexx][nexy] = '#'; xx = min(xx,nexx); yy = min(yy,nexy); xxx = max(xxx,nexx); yyy = max(yyy,nexy); } else dfs(nexx,nexy); } } int main() { dire['N'] = 0; dire['S'] = 1; dire['W'] = 2; dire['E'] = 3; feedback["SUCC"] = 1; feedback["FAIL"] = 0; dfs(250,250); cout << "END" << endl; int n = xxx-xx+1,m = yyy-yy+1; cout << n << " " << m << endl; for (int i = xx; i <= xxx; i++) { for (int j = yy; j <= yyy; j++) { if (mp[i][j] == 0) mp[i][j] = '#'; cout << mp[i][j]; } cout << endl; } return 0; }