#include <iostream>
using namespace std;
const int LCD[10][9]=
{
{0,1,0,1,0,1,1,1,1},
{0,0,0,0,0,1,0,0,1},
{0,1,0,0,1,1,1,1,0},
{0,1,0,0,1,1,0,1,1},
{0,0,0,1,1,1,0,0,1},
{0,1,0,1,1,0,0,1,1},
{0,1,0,1,1,0,1,1,1},
{0,1,0,0,0,1,0,0,1},
{0,1,0,1,1,1,1,1,1},
{0,1,0,1,1,1,0,1,1}
};
int t;
int clc[2][4][9];
int cnt;
int ah1,ah2,am1,am2;
int Check(int clcid,int i,int d)
{
int j;
for(j=0;j<9;j++)
if(clc[clcid][i][j]==1&&LCD[d][j]!=1)
return 0;
return 1;
}
int IsTime(int h1,int h2,int m1,int m2)
{
if(Check(0,0,h1)==0||Check(0,1,h2)==0||Check(0,2,m1)==0||Check(0,3,m2)==0)
return 0;
int sh1,sh2,sm1,sm2;
sm2=m2-5;
if(sm2<0)
{
sm2+=10;m1--;
}
sm1=m1-1;
if(sm1<0)
{
sm1+=6;h2--;
}
if(h2<0)
{
if(h1==0)
{
sh2=3;sh1=2;
}
else
{
sh2+=10;sh1=h1-1;
}
}
else
{
sh1=h1;sh2=h2;
}
if(Check(1,0,sh1)==0||Check(1,1,sh2)==0||Check(1,2,sm1)==0||Check(1,3,sm2)==0)
return 0;
return 1;
}
int main()
{
char c;
int i,j,k,h;
cin>>t;cin.get();
while(t--)
{
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
for(k=0;k<3;k++)
{
cin.get(c);
if(c==' ')
clc[0][j][i*3+k]=0;
else
clc[0][j][i*3+k]=1;
}
}
cin.get();
for(j=0;j<4;j++)
{
for(k=0;k<3;k++)
{
cin.get(c);
if(c==' ')
clc[1][j][i*3+k]=0;
else
clc[1][j][i*3+k]=1;
}
}
cin.get();
}
cnt=0;
for(i=0;i<3;i++)
{
for(j=0;j<10;j++)
{
if(i==2&&j>3) break;
for(k=0;k<6;k++)
{
for(h=0;h<10;h++)
{
if(IsTime(i,j,k,h)==1)
{
ah1=i;ah2=j;am1=k;am2=h;cnt++;
}
}
}
}
}
if(cnt!=1)
cout<<"Not Sure\n";
else
cout<<ah1<<ah2<<am1<<am2<<endl;
}
return 0;
}
poj1676模拟
最新推荐文章于 2018-03-28 17:48:00 发布