#define _CRT_SECURE_NO_WARNINGS #undef min #include #include #include #include #include #include #include using namespace std; struct slogpixela { int r; int g; int b;}; struct slogboja { int r; int g; int b; }; slogpixela p[505][505]; slogboja boja[20]; int idboja[505][505]; int run, w, h,w1,h1,idb; void unos1(),unos2(); int funkr(int broj), funkg(int broj), funkb(int broj); float r; int main() { freopen("imrec.in", "r", stdin); freopen("imrec.out", "w", stdout); cin >> run; if (!run) { unos1(); for (int i = 1; i <= 16; i++) { cout << -32+min((i - 1) / 4 + 1, 4)*64 << " "; if (i % 4 ==1 or i % 4 == 2)cout << 64 <<" "; else cout << 192 << " "; if (i&1)cout << 64 << endl; else cout << 192 << endl; } for (int i = 1; i <= h; i++) { for (int k = 1; k <= w; k++) { idb = funkr(p[i][k].r); idb += funkg(p[i][k].g); idb += funkb(p[i][k].b); cout << idb-1 << " "; } cout << endl; } } else { unos2(); } return 0; } int funkr(int broj) { if (broj < 64)return 1; else if (broj < 128)return 5; else if (broj < 192)return 9; else return 13; } int funkg(int broj) { if (broj < 128)return 0; else return 2; } int funkb(int broj) { if (broj < 128)return 0; else return 1; } void unos1() { cin >> w >> h; for (int i = 1; i <= h; i++) { for (int k = 1; k <= w; k++)scanf("%d %d %d", &p[i][k].r, &p[i][k].g, &p[i][k].b); } } void unos2() { for (int i = 1; i <= 16; i++)cin >> boja[i].r >> boja[i].g >> boja[i].b; cin >> w1 >> h1; for (int i = 1; i <= h1; i++) { for (int k = 1; k <= w1; k++) { scanf("%d", &idboja[i][k]); if (idboja[i][k] < 4) printf("32 "); else if (idboja[i][k] < 8){printf("96 "); idboja[i][k] -= 4;} else if (idboja[i][k] < 12){printf("160 "); idboja[i][k] -= 8;} else {printf("224 "); idboja[i][k] -= 12;} if (idboja[i][k] < 2) printf("64 "); else { printf("192 "); idboja[i][k] -=2; } if (idboja[i][k] < 1) printf("64\n"); else printf("192\n"); } } }