#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SIZEOF(a) (sizeof(a)/sizeof(a[0])) #define FILL(a, b) fill (a,a+SIZEOF(a),b) #define FOR(a,b,c) for(int a=b; a<=c; a++) #define FORARR(i,a) for(usigned i=0; i 0) { char mrizka[1000][1000]; char text[1000][1000]; FOR(y,0,N-1) { FOR(x,0,N-1) { scanf("%c ", &mrizka[x][y]); } } FOR(y,0,N-1) { FOR(x,0,N-1) { scanf("%c ", &text[x][y]); } } FOR(dir,0,3) { FOR(y,0,N-1) { FOR(x,0,N-1) { switch (dir) { case 0: if (mrizka[x][y] == '0') printf("%c", text[x][y]); break; case 3: if (mrizka[N-y-1][x] == '0') printf("%c", text[x][y]); break; case 2: if (mrizka[N-x-1][N-y-1] == '0') printf("%c", text[x][y]); break; case 1: if (mrizka[y][N-x-1] == '0') printf("%c", text[x][y]); break; } } } } printf("\n"); } return 0; }