137 lines
2.5 KiB
C++
137 lines
2.5 KiB
C++
#include <bits/stdc++.h>
|
|
|
|
using namespace std;
|
|
|
|
string datas[5];
|
|
int data[5][256];
|
|
int models[12][5][5]={
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,1,1,1,0},
|
|
{0,1,0,0,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,1,0,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,1,0,0,0},
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,1,0,0,0},
|
|
{0,1,1,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0},
|
|
{0,0,0,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,1,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,1,1,1,0},
|
|
{0,1,0,1,0},
|
|
{0,1,1,1,0},
|
|
{0,0,0,1,0},
|
|
{0,1,1,1,0}
|
|
},
|
|
{
|
|
{0,0,0,0,0},
|
|
{0,0,1,0,0},
|
|
{0,1,1,1,0},
|
|
{0,0,1,0,0},
|
|
{0,0,0,0,0}
|
|
},
|
|
{
|
|
{0,0,0,0,0},
|
|
{0,0,0,0,0},
|
|
{0,1,1,1,0},
|
|
{0,0,0,0,0},
|
|
{0,0,0,0,0}
|
|
}
|
|
};
|
|
|
|
int rec(int x,int y){
|
|
for(int i=0;i<5;i++){
|
|
for(int j=-1;j<=3;j++){
|
|
if(data[i][x+j] != models[y][i][j+1]) return 0;
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
int main(){
|
|
freopen("input.txt","r",stdin);
|
|
string s = "";
|
|
for(int i=0;i<5;i++){
|
|
getline(cin,datas[i]);
|
|
data[i][0]=0;
|
|
datas[i]+=" ";
|
|
}
|
|
for(int i=0;i<5;i++){
|
|
for (int j=1;j<=datas[i].size();j++){
|
|
if(datas[i][j-1] == 'x') data[i][j]=1;
|
|
else data[i][j]=0;
|
|
}
|
|
}
|
|
for(int i=1;i<=datas[0].size()-4;i++){
|
|
if(data[0][i] == 0 && data[0][i+1] == 0 && data[0][i+2] == 0){
|
|
if(rec(i,10)){
|
|
s+="+";
|
|
}
|
|
else if(rec(i,11)){
|
|
s+="-";
|
|
}
|
|
}
|
|
else {
|
|
for(int k=0;k<10;k++){
|
|
if(rec(i,k)){
|
|
s+=k+'0';
|
|
i+=2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
cout << s;
|
|
return 0;
|
|
} |