#include <stdio.h>
char msg[] = "84268 1478963 456 741456963 1578963 7412369258 14863456";
int Check(const char* start, char ch1, char ch2)
{
char sub1[3];
char sub2[3];
}
void Print
(int colored
) { printf(colored
? "#" : " "); }
int main(void) {
const char* kp[] = {
" /*",
"789",
"456",
"123",
"00."
};
for (int r = 0; r < 7; r++) {
int row = r / 2;
char* start = msg;
while (1) {
char* end
= strchr(start
, ' '); if (end) *end = '\0';
for (int col = 0; col < 3; col++) {
if (r & 1) {
Print(Check(start, kp[row][col], kp[row+1][col]));
if (col < 2) Print(
Check(start, kp[row][col], kp[row+1][col+1]) ||
Check(start, kp[row+1][col], kp[row][col+1]));
} else {
Print
(strchr(start
, kp
[row
][col
])); if (col < 2)
Print(Check(start, kp[row][col], kp[row][col+1]));
}
}
if (!end) break;
*end = ' ';
start = end + 1;
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpjaGFyIG1zZ1tdID0gIjg0MjY4IDE0Nzg5NjMgNDU2IDc0MTQ1Njk2MyAxNTc4OTYzIDc0MTIzNjkyNTggMTQ4NjM0NTYiOwoKaW50IENoZWNrKGNvbnN0IGNoYXIqIHN0YXJ0LCBjaGFyIGNoMSwgY2hhciBjaDIpCnsKCWNoYXIgc3ViMVszXTsKCWNoYXIgc3ViMlszXTsKCXNwcmludGYoc3ViMSwgIiVjJWMiLCBjaDEsIGNoMik7CglzcHJpbnRmKHN1YjIsICIlYyVjIiwgY2gyLCBjaDEpOwoJcmV0dXJuIHN0cnN0cihzdGFydCwgc3ViMSkgfHwgc3Ryc3RyKHN0YXJ0LCBzdWIyKTsKfQoKdm9pZCBQcmludChpbnQgY29sb3JlZCkgeyBwcmludGYoY29sb3JlZCA/ICIjIiA6ICIgIik7IH0KCmludCBtYWluKHZvaWQpIHsKCWNvbnN0IGNoYXIqIGtwW10gPSB7CgkJIiAvKiIsCgkJIjc4OSIsCgkJIjQ1NiIsCgkJIjEyMyIsCgkJIjAwLiIKCX07Cglmb3IgKGludCByID0gMDsgciA8IDc7IHIrKykgewoJCWludCByb3cgPSByIC8gMjsKCQljaGFyKiBzdGFydCA9IG1zZzsKCQl3aGlsZSAoMSkgewoJCQljaGFyKiBlbmQgPSBzdHJjaHIoc3RhcnQsICcgJyk7CgkJCWlmIChlbmQpICplbmQgPSAnXDAnOwoJCQlmb3IgKGludCBjb2wgPSAwOyBjb2wgPCAzOyBjb2wrKykgewoJCQkJaWYgKHIgJiAxKSB7CgkJCQkJUHJpbnQoQ2hlY2soc3RhcnQsIGtwW3Jvd11bY29sXSwga3Bbcm93KzFdW2NvbF0pKTsKCQkJCQlpZiAoY29sIDwgMikgUHJpbnQoCgkJCQkJCUNoZWNrKHN0YXJ0LCBrcFtyb3ddW2NvbF0sIGtwW3JvdysxXVtjb2wrMV0pIHx8CgkJCQkJCUNoZWNrKHN0YXJ0LCBrcFtyb3crMV1bY29sXSwga3Bbcm93XVtjb2wrMV0pKTsKCQkJCX0gZWxzZSB7CgkJCQkJUHJpbnQoc3RyY2hyKHN0YXJ0LCBrcFtyb3ddW2NvbF0pKTsKCQkJCQlpZiAoY29sIDwgMikKCQkJCQkJUHJpbnQoQ2hlY2soc3RhcnQsIGtwW3Jvd11bY29sXSwga3Bbcm93XVtjb2wrMV0pKTsKCQkJCX0KCQkJfQoJCQlpZiAoIWVuZCkgYnJlYWs7CgkJCSplbmQgPSAnICc7CgkJCXN0YXJ0ID0gZW5kICsgMTsKCQkJcHJpbnRmKCIgICIpOwoJCX0KCQlwcmludGYoIlxuIik7Cgl9CglyZXR1cm4gMDsKfQo=