/* * File: baloon.cpp * Author: cteam022 * * Created on October 22, 2016, 9:21 AM */ #include #include #include #include #include using namespace std; #define FOR(i,n) for(int i=0;i^v", "^v>v^<>", "><^V><", "oooooo", "xxxxxx", "--||--", "||--||", "\\\\\\\\//", "////\\\\", }; char fnc[256][256]; char img[111][111]; int n; void rott(char img[][111], int n, char c) { int n2 = (n+1)/2; int n1 = n-1; switch ( c ) { case '-': FOR (i,n2) FOR (j,n) { SW( img[i][j], img[n1-i][j] ); } break; case '|': FOR (i,n) FOR (j,n2) { SW( img[i][j], img[i][n1-j] ); } break; case '\\': FOR (i,n) for (int j=i;j': // '-' && '\\' FOR (i,n2) FOR (j,n) { SW( img[i][j], img[n1-i][j] ); } FOR (i,n) for (int j=i;j>n) { FOR (i,n) FOR (j,n) cin >> img[i][j]; string tmp; getline(cin, tmp); //cout << tmp << endl; getline(cin, tmp); //cout << tmp << endl; int r = 0; // > int v = 0; // | for (char c : tmp) { switch (c) { case '>': r--; break; case '<': r++; break; case '|': v++; r = -r; break; case '-': r+=2; v++; r = -r; break; case '/': r++; v++; r = -r; break; case '\\': r--; v++; r = -r; break; default: break; } } if (v % 2 == 1) { FOR (i,n) FOR (j,n) img[i][j] = fnc[ img[i][j] ][ '|' ]; rott(img,n,'|'); } FOR (i, (r % 4 + 4 )% 4) { FOR (i,n) FOR (j,n) img[i][j] = fnc[ img[i][j] ][ '<' ]; rott(img,n,'<'); } FOR (i,n) { FOR (j,n) cout << img[i][j]; cout << endl; } } return 0; }