#include char displej[100][100]; char novydisplej[100][100]; char* spicky = "^"; char* spickyflip = "v<^>"; char* lomitka = "|\\-/"; char* lomitkaflip = "-\\|/"; char zpracuj(char* mnozina, int index, int zobrazeni1, int zobrazeni2) { index += zobrazeni2; if(zobrazeni1) { if(mnozina == lomitka) { return lomitkaflip[index]; } else { return spickyflip[index]; } } return mnozina[index]; } int main() { int N; while(scanf("%d\n", &N) == 1) { for(int y = N-1;y>=0;y--) { for(int x = 0;x': zobrazeni2+=3; break; case '-': zobrazeni1 = !zobrazeni1; if(zobrazeni2 == 3 || zobrazeni2 == 1) zobrazeni2+=2; zobrazeni2 += 3; break; case '|': zobrazeni1 = !zobrazeni1; if(zobrazeni2 == 3 || zobrazeni2 == 1) zobrazeni2+=2; zobrazeni2 += 1; break; case '\\': zobrazeni1 = !zobrazeni1; if(zobrazeni2 == 3 || zobrazeni2 == 1) zobrazeni2+=2; zobrazeni2 += 2; break; case '/': zobrazeni1 = !zobrazeni1; if(zobrazeni2 == 3 || zobrazeni2 == 1) zobrazeni2+=2; break; } zobrazeni2%=4; if(divi == '\n') break; } for(int y = 0;y': novychar = zpracuj(spicky, 2, zobrazeni1, zobrazeni2); break; case '^': novychar = zpracuj(spicky, 3, zobrazeni1, zobrazeni2); break; case '|': novychar = zpracuj(lomitka, 0, zobrazeni1, zobrazeni2); break; case '\\': novychar = zpracuj(lomitka, 1, zobrazeni1, zobrazeni2); break; case '-': novychar = zpracuj(lomitka, 2, zobrazeni1, zobrazeni2); break; case '/': novychar = zpracuj(lomitka, 3, zobrazeni1, zobrazeni2); break; case 'o': novychar = 'o'; break; case 'x': novychar = 'x'; break; } if(x == 2 && y == 2) int a = 0; novydisplej[novex][novey] = novychar; } } for(int y = N-1;y>=0;y--) { for(int x = 0;x