# H : 没错，就让你做A+B

### 题目描述

什么？听说你把上一道A+B做出来了！这么厉害的吗，那我就再出一道A+B的题考考你！ 现在给你一个A和一个B,输出A+B的值。

##### ....# ##### ##### #...# ##### ##### ##### ##### ##### ..... ..... .....
#...# ....# ....# ....# #...# #.... #.... ....# #...# #...# ..#.. ..... .....
#...# ....# ....# ....# #...# #.... #.... ....# #...# #...# ..#.. ..... #####
#...# ....# ##### ##### ##### ##### ##### ....# ##### ##### ##### ##### .....
#...# ....# #.... ....# ....# ....# #...# ....# #...# ....# ..#.. ..... #####
#...# ....# #.... ....# ....# ....# #...# ....# #...# ....# ..#.. ..... .....
##### ....# ##### ##### ....# ##### ##### ....# ##### ##### ..... ..... .....

### 输入

T组输入，接下来的T行（T<300)，每一行输入A,B（0<=|A|,|B|<=1000000000)

### 输出

按照输出要求，输出该等式A+B=?。(能省略的正号，应省略)（两个图形之间用一列'.'隔开）（自己看输出理解题意）

### 样例输入

2
1 -11
193 257

### 样例输出

....#...........#.....#.................#.#####
....#...........#.....#.................#.#...#
....#...........#.....#.#####...........#.#...#
....#.#####.....#.....#.......#####.....#.#...#
....#...........#.....#.#####...........#.#...#
....#...........#.....#.................#.#...#
....#...........#.....#.................#.#####

....#.#####.#####.......#####.#####.#####.......#...#.#####.#####
....#.#...#.....#...#.......#.#.........#.......#...#.#.....#...#
....#.#...#.....#...#.......#.#.........#.#####.#...#.#.....#...#
....#.#####.#####.#####.#####.#####.....#.......#####.#####.#...#
....#.....#.....#...#...#.........#.....#.#####.....#.....#.#...#
....#.....#.....#...#...#.........#.....#...........#.....#.#...#
....#.#####.#####.......#####.#####.....#...........#.#####.#####

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char a0[7][5]= {'#','#','#','#','#','#','.','.','.','#','#','.','.','.','#','#','.','.','.','#','#','.','.','.','#','#','.','.','.','#','#','#','#','#','#'};
char a1[7][5]= {'.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#'};
char a2[7][5]= {'#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#'};
char a3[7][5]= {'#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','#'};
char a4[7][5]= {'#','.','.','.','#','#','.','.','.','#','#','.','.','.','#','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#'};
char a5[7][5]= {'#','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','#'};
char a6[7][5]= {'#','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','#','.','.','.','#','#','.','.','.','#','#','#','#','#','#'};
char a7[7][5]= {'#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#','.','.','.','.','#'};
char a8[7][5]= {'#','#','#','#','#','#','.','.','.','#','#','.','.','.','#','#','#','#','#','#','#','.','.','.','#','#','.','.','.','#','#','#','#','#','#'};
char a9[7][5]= {'#','#','#','#','#','#','.','.','.','#','#','.','.','.','#','#','#','#','#','#','.','.','.','.','#','.','.','.','.','#','#','#','#','#','#'};
char b1[7][5]= {'.','.','.','.','.','.','.','#','.','.','.','.','#','.','.','#','#','#','#','#','.','.','#','.','.','.','.','#','.','.','.','.','.','.','.'};//+
char b2[7][5]= {'.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','#','#','#','#','#','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.'};//-
char b3[7][5]= {'.','.','.','.','.','.','.','.','.','.','#','#','#','#','#','.','.','.','.','.','#','#','#','#','#','.','.','.','.','.','.','.','.','.','.'};//=

int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char r[66]= {0};
long long a,b,c;
scanf("%lld%lld",&a,&b);
c=a+b;
int flag=0;
if(a<0)
{
flag=1;
a=-a;
}
for(int i=0;; i++)
{
r[i]=a%10+'0';
a/=10;
if(a==0)
break;
}
int la=strlen(r);
for(int j=0; j<la/2; j++)
swap(r[j],r[la-1-j]);
if(b<0)
{
r[la]='-';
b=-b;
}
else
r[la]='+';
for(int i=la+1;; i++)
{
r[i]=b%10+'0';
b/=10;
if(b==0)
break;
}
int lb=strlen(r);
for(int j=la+1; j<(la+lb+1)/2; j++)
swap(r[j],r[lb-j+la]);
r[lb]='=';
if(c<0)
{
r[lb+1]='-';
c=-c;
for(int i=lb+2;; i++)
{
r[i]=c%10+'0';
c/=10;
if(c==0)
break;
}
int lc=strlen(r);
for(int j=lb+2; j<(lc+lb+2)/2; j++)
swap(r[j],r[lc-j+lb+1]);
}
else
{
for(int i=lb+1;; i++)
{
r[i]=c%10+'0';
c/=10;
if(c==0)
break;
}
int lc=strlen(r);
for(int j=lb+1; j<(lc+lb+1)/2; j++)
swap(r[j],r[lc-j+lb]);
}
int lc=strlen(r);
for(int x=0; x<7; x++)
{
if(flag==1)
{
for(int y=0; y<5; y++)
printf("%c",b2[x][y]);
printf(".");
}
for(int k=0; k<lc; k++)
{
if(r[k]=='0')
{
for(int y=0; y<5; y++)
printf("%c",a0[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='1')
{
for(int y=0; y<5; y++)
printf("%c",a1[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='2')
{
for(int y=0; y<5; y++)
printf("%c",a2[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='3')
{
for(int y=0; y<5; y++)
printf("%c",a3[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='4')
{
for(int y=0; y<5; y++)
printf("%c",a4[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='5')
{
for(int y=0; y<5; y++)
printf("%c",a5[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='6')
{
for(int y=0; y<5; y++)
printf("%c",a6[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='7')
{
for(int y=0; y<5; y++)
printf("%c",a7[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='8')
{
for(int y=0; y<5; y++)
printf("%c",a8[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='9')
{
for(int y=0; y<5; y++)
printf("%c",a9[x][y]);
if(k!=lc-1)
printf(".");
}
if(r[k]=='+')
{
for(int y=0; y<5; y++)
printf("%c",b1[x][y]);
printf(".");
}
if(r[k]=='-')
{
for(int y=0; y<5; y++)
printf("%c",b2[x][y]);
printf(".");
}
if(r[k]=='=')
{
for(int y=0; y<5; y++)
printf("%c",b3[x][y]);
printf(".");
}
}
printf("\n");
}
if(n>=1)
printf("\n");
}
return 0;
}


• 广告
• 抄袭
• 版权
• 政治
• 色情
• 无意义
• 其他

120