题目大意:给一个像素的$a+b$,每个数字为$7\times5$的像素,每两个数字之间有间隔
题解:乱搞读入
卡点:无
C++ Code:
#include <cstdio>
#include <cstring>
#include <iostream>
using std::cin;
using std::endl;
using std::cout;
using std::string;
const string S[11] = {
"xxxxx.x...x.x...x.x...x.x...x.x...x.xxxxx.",
"....x.....x.....x.....x.....x.....x.....x.",
"xxxxx.....x.....x.xxxxx.x.....x.....xxxxx.",
"xxxxx.....x.....x.xxxxx.....x.....x.xxxxx.",
"x...x.x...x.x...x.xxxxx.....x.....x.....x.",
"xxxxx.x.....x.....xxxxx.....x.....x.xxxxx.",
"xxxxx.x.....x.....xxxxx.x...x.x...x.xxxxx.",
"xxxxx.....x.....x.....x.....x.....x.....x.",
"xxxxx.x...x.x...x.xxxxx.x...x.x...x.xxxxx.",
"xxxxx.x...x.x...x.xxxxx.....x.....x.xxxxx.",
"........x.....x...xxxxx...x.....x.........",
};
string p[7];
int x, idx = 0;
char ch;
inline char getch() {
string tmp = "";
for (int i = 0; i < 7; i++) tmp += p[i].substr(idx, 6);
idx += 6;
for (int i = 0; i < 10; i++) if (S[i] == tmp) return i + 48;
return 0;
}
inline int read() {
x = 0; ch = getch();
while (!ch) ch = getch();
for (x = ch & 15, ch = getch(); ch; ch = getch()) x = x * 10 + (ch & 15);
return x;
}
string out[7];
void putch(int x, int op) {
for (int i = 0; i < 7; i ++) out[i] += S[x].substr(i * 6, 5 + op);
}
void put(int x, int op = 1) {
if (x > 9) put(x / 10);
putch(x % 10, op);
}
int main() {
for (int i = 0; i < 7; i++) cin >> p[i], p[i] = p[i] + ".";
int ans = read() + read();
put(ans, 0);
for (int i = 0; i < 7; i++) cout << out[i] << " " << endl;
return 0;
}