#include #include #include #include #include #define LEFT 0 #define RIGHT 1 #define VERTICAL 2 #define HORIZONTAL 3 #define DIAGONAL 4 #define ANTI_DIAGONAL 5 std::map nieco; void vertical(std::vector< std::string >& vec) { unsigned int size = vec.size(); for ( unsigned int i =0; i& vec) { unsigned int size = vec.size(); for ( unsigned int i =0; i& vec) { std::vector < std::string > copy = vec; unsigned int size = vec.size(); for ( unsigned int i =0; i& vec) { std::vector < std::string > copy = vec; unsigned int size = vec.size(); for ( unsigned int i =0; i& vec) { right(vec); vertical(vec); } void anti_diagonal(std::vector< std::string >& vec) { left(vec); vertical(vec); } int main() { std::vector < std::string > vec; nieco['<'] = "v^><^v"; nieco['>'] = "^v<>v^"; nieco['^'] = "<>^v<>"; nieco['v'] = "><"; nieco['o'] = "oooooo"; nieco['x'] = "xxxxxx"; nieco['/'] = "\\\\\\\\//"; nieco['\\'] = "////\\\\"; nieco['|'] = "--||--"; nieco['-'] = "||--||"; int n; while (std::cin >> n){ vec.resize(n); for (int i = 0; i < n; i++){ std::cin >> vec[i]; } std::string line; std::getline(std::cin, line); std::getline(std::cin, line); for(unsigned int j = 0; j < line.size(); j+=2){ switch(line[j]){ case'|': vertical(vec); break; case'-': horizontal(vec); break; case'<': left(vec); break; case'>': right(vec); break; case'\\': diagonal(vec); break; case'/': anti_diagonal(vec); break; } } // Output for ( unsigned int j = 0; j