#include #include typedef struct Radek { char znaky[200]; }Radek; Radek radky[100]; Radek radky2[100]; int n; int main() { int i, j; char c; int p; while(scanf("%d",&n) == 1) { for(i = 0; i < n; i++) { fgets(stdin,200,radky[i].znaky); } scanf("%c",&c); while(c != '\n') { if(c == '<') { otocDoleva(); } if(c == '>') { otocDoprava(); } if(c == '-') { horizont(); } if(c == '|') { vertikal(); } if(c == '\\') { hlavni(); } if(c == '/') { vedlejsi(); } scanf(" %c",&c); } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { printf("%c",radky[i].znaky[j]); } printf("\n"); } } return 0; } void otocDoleva() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky2[i].znaky[j] = radky[n - j].znaky[i]; if(radky2[i].znaky[j] == '<') { radky2[i].znaky[j] = 'v'; } else if(radky2[i].znaky[j] == '>') { radky2[i].znaky[j] = '^'; } else if(radky2[i].znaky[j] == '^') { radky2[i].znaky[j] = '<'; } else if(radky2[i].znaky[j] == 'v') { radky2[i].znaky[j] = '>'; } else if(radky2[i].znaky[j] == 'o') { radky2[i].znaky[j] = 'o'; } else if(radky2[i].znaky[j] == 'x') { radky2[i].znaky[j] = 'x'; } else if(radky2[i].znaky[j] == '|') { radky2[i].znaky[j] = '-'; } else if(radky2[i].znaky[j] == '-') { radky2[i].znaky[j] = '|'; } else if(radky2[i].znaky[j] == '/') { radky2[i].znaky[j] = '\\'; } else if(radky2[i].znaky[j] == '\\') { radky2[i].znaky[j] = '/'; } } } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky[i].znaky[j] = radky2[i].znaky[j]; } } } void otocDoprava() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky2[i].znaky[j] = radky[j].znaky[n -i]; if(radky2[i].znaky[j] == '<') { radky2[i].znaky[j] = '^'; } else if(radky2[i].znaky[j] == '>') { radky2[i].znaky[j] = 'v'; } else if(radky2[i].znaky[j] == '^') { radky2[i].znaky[j] = '>'; } else if(radky2[i].znaky[j] == 'v') { radky2[i].znaky[j] = '<'; } else if(radky2[i].znaky[j] == 'o') { radky2[i].znaky[j] = 'o'; } else if(radky2[i].znaky[j] == 'x') { radky2[i].znaky[j] = 'x'; } else if(radky2[i].znaky[j] == '|') { radky2[i].znaky[j] = '-'; } else if(radky2[i].znaky[j] == '-') { radky2[i].znaky[j] = '|'; } else if(radky2[i].znaky[j] == '/') { radky2[i].znaky[j] = '\\'; } else if(radky2[i].znaky[j] == '\\') { radky2[i].znaky[j] = '/'; } } } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky[i].znaky[j] = radky2[i].znaky[j]; } } } void horizont() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky2[i].znaky[j] = radky[n - i].znaky[j]; if(radky2[i].znaky[j] == '<') { radky2[i].znaky[j] = '<'; } else if(radky2[i].znaky[j] == '>') { radky2[i].znaky[j] = '>'; } else if(radky2[i].znaky[j] == '^') { radky2[i].znaky[j] = 'v'; } else if(radky2[i].znaky[j] == 'v') { radky2[i].znaky[j] = '^'; } else if(radky2[i].znaky[j] == 'o') { radky2[i].znaky[j] = 'o'; } else if(radky2[i].znaky[j] == 'x') { radky2[i].znaky[j] = 'x'; } else if(radky2[i].znaky[j] == '|') { radky2[i].znaky[j] = '|'; } else if(radky2[i].znaky[j] == '-') { radky2[i].znaky[j] = '-'; } else if(radky2[i].znaky[j] == '/') { radky2[i].znaky[j] = '\\'; } else if(radky2[i].znaky[j] == '\\') { radky2[i].znaky[j] = '/'; } } } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky[i].znaky[j] = radky2[i].znaky[j]; } } } void vertikal() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky2[i].znaky[j] = radky[i].znaky[n - j]; if(radky2[i].znaky[j] == '<') { radky2[i].znaky[j] = '>'; } else if(radky2[i].znaky[j] == '>') { radky2[i].znaky[j] = '<'; } else if(radky2[i].znaky[j] == '^') { radky2[i].znaky[j] = '^'; } else if(radky2[i].znaky[j] == 'v') { radky2[i].znaky[j] = 'v'; } else if(radky2[i].znaky[j] == 'o') { radky2[i].znaky[j] = 'o'; } else if(radky2[i].znaky[j] == 'x') { radky2[i].znaky[j] = 'x'; } else if(radky2[i].znaky[j] == '|') { radky2[i].znaky[j] = '|'; } else if(radky2[i].znaky[j] == '-') { radky2[i].znaky[j] = '-'; } else if(radky2[i].znaky[j] == '/') { radky2[i].znaky[j] = '\\'; } else if(radky2[i].znaky[j] == '\\') { radky2[i].znaky[j] = '/'; } } } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky[i].znaky[j] = radky2[i].znaky[j]; } } } void hlavni() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky2[i].znaky[j] = radky[j].znaky[i]; if(radky2[i].znaky[j] == '<') { radky2[i].znaky[j] = '^'; } else if(radky2[i].znaky[j] == '>') { radky2[i].znaky[j] = 'v'; } else if(radky2[i].znaky[j] == '^') { radky2[i].znaky[j] = '<'; } else if(radky2[i].znaky[j] == 'v') { radky2[i].znaky[j] = '>'; } else if(radky2[i].znaky[j] == 'o') { radky2[i].znaky[j] = 'o'; } else if(radky2[i].znaky[j] == 'x') { radky2[i].znaky[j] = 'x'; } else if(radky2[i].znaky[j] == '|') { radky2[i].znaky[j] = '-'; } else if(radky2[i].znaky[j] == '-') { radky2[i].znaky[j] = '|'; } else if(radky2[i].znaky[j] == '/') { radky2[i].znaky[j] = '/'; } else if(radky2[i].znaky[j] == '\\') { radky2[i].znaky[j] = '\\'; } } } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky[i].znaky[j] = radky2[i].znaky[j]; } } } void vedlejsi() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky2[i].znaky[j] = radky[n - j].znaky[n - i]; if(radky2[i].znaky[j] == '<') { radky2[i].znaky[j] = 'v'; } else if(radky2[i].znaky[j] == '>') { radky2[i].znaky[j] = '^'; } else if(radky2[i].znaky[j] == '^') { radky2[i].znaky[j] = '>'; } else if(radky2[i].znaky[j] == 'v') { radky2[i].znaky[j] = '<'; } else if(radky2[i].znaky[j] == 'o') { radky2[i].znaky[j] = 'o'; } else if(radky2[i].znaky[j] == 'x') { radky2[i].znaky[j] = 'x'; } else if(radky2[i].znaky[j] == '|') { radky2[i].znaky[j] = '-'; } else if(radky2[i].znaky[j] == '-') { radky2[i].znaky[j] = '|'; } else if(radky2[i].znaky[j] == '/') { radky2[i].znaky[j] = '/'; } else if(radky2[i].znaky[j] == '\\') { radky2[i].znaky[j] = '\\'; } } } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { radky[i].znaky[j] = radky2[i].znaky[j]; } } }