题目:ASCII Addition
思路:卡读入毒瘤题膜个你。
代码:
#include<bits/stdc++.h>
using namespace std;
string a[10];
int d[2],e[20];
int cnt;void init() {
a[0]="xxxxxx...xx...xx...xx...xx...xxxxxx";a[1]="....x....x....x....x....x....x....x";a[2]="xxxxx....x....xxxxxxx....x....xxxxx";a[3]="xxxxx....x....xxxxxx....x....xxxxxx";a[4]="x...xx...xx...xxxxxx....x....x....x";a[5]="xxxxxx....x....xxxxx....x....xxxxxx";a[6]="xxxxxx....x....xxxxxx...xx...xxxxxx";a[7]="xxxxx....x....x....x....x....x....x";a[8]="xxxxxx...xx...xxxxxxx...xx...xxxxxx";a[9]="xxxxxx...xx...xxxxxx....x....xxxxxx";
}int main() {
init();string b[7];for(int i=0; i<7; i++) {
cin>>b[i];}int u=0;for(int i=0; i<b[0].length(); i+=6) {
string p;bool flag=false;for(int j=0; j<7; j++) {
p+=b[j].substr(i,5);}for(int j=0; j<=9; j++) {
if(p==a[j]) {
d[u]*=10;d[u]+=j;flag=true;break;}}if(!flag) u++;}d[0]=d[0]+d[1];for(long long i=10000000000; i>=1; i/=10) {
if(d[0]>=i) {
e[++cnt]=d[0]/i%10;}}for(int i=0; i<7; i++) {
for(int j=1; j<=cnt; j++) {
for(int x=i*5; x<(i+1)*5; x++) {
cout<<a[e[j]][x];}if(j!=cnt) cout<<".";}cout<<endl;}return 0;
}