#include #include #include #define MAX 13LL #define WIDTH (1LL<=0; x--, y++) { long long v = 2*val2[x] + 3; long long h = 2*val2[y] + 2; long long nx = 2*MAX-2-2*val2[x]; long long ny = 2*MAX-1-2*val2[y]; if (x==0) { // left border cur.diag[x].hori = h; cur.diag[x].vert = 1; hcut++; } else if (y==0) { // bottom border cur.diag[x].hori = 1; cur.diag[x].vert = v; vcut++; } else { long long ph = prv.diag[x-1].hori; long long pv = prv.diag[x ].vert; if (ph==0) { if (pv==0) { cur.diag[x].hori = 0; cur.diag[x].vert = 0; } else { if (hph) { cur.diag[x].hori = 0; cur.diag[x].vert = pv; } else { cur.diag[x].hori = ph; cur.diag[x].vert = 0; } } } } } printf("%lld %lld\n", x0, hcut); fflush(stdout); } return 0; }