#include #include #include #include #include #include #include #include #include #define DEBUG #ifdef DEBUG1 #define DBG if (1) #else #define DBG if (0) #endif int m, n; #define PA(arr, n) DBG for (int i = 0; i < n; i++) printf("%d%c", arr[i], "\n "[i < n - 1]) #define PD(n) DBG printf("%d\n", n); #define PDBL(n) DBG printf("%lf\n", n); #define in(x, y) if (x >= 0 && y >= 0 && x < m && y < m && ma[x][y] == '.') using namespace std; int main () { while (scanf("%d%d", &m, &n) == 2) { vector > ma(m, vector(m, '.')); int s, x, y; int mx, my; for (int i = 0; i < n; i++) { scanf("%d%d%d", &s, &x, &y); mx = x; my = m - 1 - y; if (s == 0 && mx < m + 1 && my < m + 1 && mx >= -1 && my >= -1) { in(mx, my) ma[mx][my] = 111; in(mx - 1, my) ma[mx - 1][my] = 95; in(mx + 1, my) ma[mx + 1][my] = 95; } else if (s != 0 && mx < m + 1 && my < m + 11 && mx >= -1 && my >= -11) { int i; in(mx, my) ma[mx][my] = 124; in(mx - 1, my) ma[mx - 1][my] = 95; in(mx + 1, my) ma[mx + 1][my] = 95; for (i = 0; i < s; i++) { in(mx, my - 1 - i) ma[mx][my - 1 - i] = 124; in(mx - 1, my - 1 - i) ma[mx - 1][my - 1 - i] = 47; in(mx + 1, my - 1 - i) ma[mx + 1][my - 1 - i] = 92; } in(mx, my - 1 - i) ma[mx][my - 1 - i] = 94; } } for (int i = -1; i <= m; i++) { for (int j = -1; j <= m; j++) { if (i < 0 || i == m || j < 0 || j == m) printf("*"); else printf("%c", ma[j][i]); } printf("\n"); } printf("\n"); } return 0; }