#include <iostream>
#include <vector>
#include <string>
using namespace std;
void printMaze(const vector<string>& maze, int r, int c, int step) {
cout << "===== Step " << step << " | Position (" << r << "," << c << ") =====\n";
for (auto &row : maze) cout << row << "\n";
cout << "\n";
}
int main() {
vector<string> maze = {
"##########",
"#@.......#",
"#.######.#",
"#......#.#",
"###.##.#.#",
"#...#....#",
"#.#.###..#",
"#.#.....##",
"#.#.E....#",
"##########"
};
int r = 1, c = 1; // start position
int er = 8, ec = 3; // exit position
string moves;
cin >> moves; // <-- WPROWADZASZ STEROWANIE JAKO TEKST, np: SSSDDWWAAS
int step = 0;
printMaze(maze, r, c, step);
for (char key : moves) {
int nr = r, nc = c;
if (key == 'w' || key == 'W') nr--;
else if (key == 's' || key == 'S') nr++;
else if (key == 'a' || key == 'A') nc--;
else if (key == 'd' || key == 'D') nc++;
else continue; // ignoruj inne znaki
// blokada o ścianę
if (maze[nr][nc] == '#')
continue;
// ruch
maze[r][c] = '.';
r = nr;
c = nc;
maze[r][c] = '@';
step++;
printMaze(maze, r, c, step);
// sprawdzenie wyjścia
if (r == er && c == ec) {
cout << "BRAWO!\n";
return 0;
}
}
cout << "SPROBUJ JESZCZE RAZ\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCnZvaWQgcHJpbnRNYXplKGNvbnN0IHZlY3RvcjxzdHJpbmc+JiBtYXplLCBpbnQgciwgaW50IGMsIGludCBzdGVwKSB7CiAgICBjb3V0IDw8ICI9PT09PSBTdGVwICIgPDwgc3RlcCA8PCAiIHwgUG9zaXRpb24gKCIgPDwgciA8PCAiLCIgPDwgYyA8PCAiKSA9PT09PVxuIjsKICAgIGZvciAoYXV0byAmcm93IDogbWF6ZSkgY291dCA8PCByb3cgPDwgIlxuIjsKICAgIGNvdXQgPDwgIlxuIjsKfQogCmludCBtYWluKCkgewogICAgdmVjdG9yPHN0cmluZz4gbWF6ZSA9IHsKICAgICAgICAiIyMjIyMjIyMjIyIsCiAgICAgICAgIiNALi4uLi4uLiMiLAogICAgICAgICIjLiMjIyMjIy4jIiwKICAgICAgICAiIy4uLi4uLiMuIyIsCiAgICAgICAgIiMjIy4jIy4jLiMiLAogICAgICAgICIjLi4uIy4uLi4jIiwKICAgICAgICAiIy4jLiMjIy4uIyIsCiAgICAgICAgIiMuIy4uLi4uIyMiLAogICAgICAgICIjLiMuRS4uLi4jIiwKICAgICAgICAiIyMjIyMjIyMjIyIKICAgIH07CiAKICAgIGludCByID0gMSwgYyA9IDE7ICAgLy8gc3RhcnQgcG9zaXRpb24KICAgIGludCBlciA9IDgsIGVjID0gMzsgLy8gZXhpdCBwb3NpdGlvbgogCiAgICBzdHJpbmcgbW92ZXM7CiAgICBjaW4gPj4gbW92ZXM7ICAgLy8gPC0tIFdQUk9XQURaQVNaIFNURVJPV0FOSUUgSkFLTyBURUtTVCwgbnA6ICBTU1NERFdXQUFTCiAKICAgIGludCBzdGVwID0gMDsKICAgIHByaW50TWF6ZShtYXplLCByLCBjLCBzdGVwKTsKIAogICAgZm9yIChjaGFyIGtleSA6IG1vdmVzKSB7CiAgICAgICAgaW50IG5yID0gciwgbmMgPSBjOwogCiAgICAgICAgaWYgKGtleSA9PSAndycgfHwga2V5ID09ICdXJykgbnItLTsKICAgICAgICBlbHNlIGlmIChrZXkgPT0gJ3MnIHx8IGtleSA9PSAnUycpIG5yKys7CiAgICAgICAgZWxzZSBpZiAoa2V5ID09ICdhJyB8fCBrZXkgPT0gJ0EnKSBuYy0tOwogICAgICAgIGVsc2UgaWYgKGtleSA9PSAnZCcgfHwga2V5ID09ICdEJykgbmMrKzsKICAgICAgICBlbHNlIGNvbnRpbnVlOyAvLyBpZ25vcnVqIGlubmUgem5ha2kKIAogICAgICAgIC8vIGJsb2thZGEgbyDFm2NpYW7EmQogICAgICAgIGlmIChtYXplW25yXVtuY10gPT0gJyMnKQogICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgIC8vIHJ1Y2gKICAgICAgICBtYXplW3JdW2NdID0gJy4nOwogICAgICAgIHIgPSBucjsgCiAgICAgICAgYyA9IG5jOwogICAgICAgIG1hemVbcl1bY10gPSAnQCc7CiAgICAgICAgc3RlcCsrOwogCiAgICAgICAgcHJpbnRNYXplKG1hemUsIHIsIGMsIHN0ZXApOwogCiAgICAgICAgLy8gc3ByYXdkemVuaWUgd3lqxZtjaWEKICAgICAgICBpZiAociA9PSBlciAmJiBjID09IGVjKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkJSQVdPIVxuIjsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQogCiAgICBjb3V0IDw8ICJTUFJPQlVKIEpFU1pDWkUgUkFaXG4iOwogICAgcmV0dXJuIDA7Cn0=
===== Step 0 | Position (1,1) =====
##########
#@.......#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 1 | Position (1,2) =====
##########
#.@......#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 2 | Position (1,3) =====
##########
#..@.....#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 3 | Position (1,4) =====
##########
#...@....#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 4 | Position (1,5) =====
##########
#....@...#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 5 | Position (1,6) =====
##########
#.....@..#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 6 | Position (1,7) =====
##########
#......@.#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 7 | Position (1,8) =====
##########
#.......@#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 8 | Position (2,8) =====
##########
#........#
#.######@#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 9 | Position (3,8) =====
##########
#........#
#.######.#
#......#@#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 10 | Position (4,8) =====
##########
#........#
#.######.#
#......#.#
###.##.#@#
#...#....#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 11 | Position (5,8) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#...@#
#.#.###..#
#.#.....##
#.#.E....#
##########
===== Step 12 | Position (6,8) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###.@#
#.#.....##
#.#.E....#
##########
===== Step 13 | Position (6,7) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###@.#
#.#.....##
#.#.E....#
##########
===== Step 14 | Position (7,7) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#....@##
#.#.E....#
##########
===== Step 15 | Position (8,7) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E..@.#
##########
===== Step 16 | Position (8,6) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E.@..#
##########
===== Step 17 | Position (8,5) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.E@...#
##########
===== Step 18 | Position (8,4) =====
##########
#........#
#.######.#
#......#.#
###.##.#.#
#...#....#
#.#.###..#
#.#.....##
#.#.@....#
##########
SPROBUJ JESZCZE RAZ