02:38
题目大意:在矩阵里有。和X,用X构成了数字,我们需要根据题目给出的矩阵集输出表示的数字。
解题思路:由于题目中给出了0-9的所有矩阵表示,所以我们直接使用if条件判断就可以了,每个位置的每个数都判断一下,注意细节。
ac代码:
#include
#include
#include
using namespace std;
int f[10][9]={
{1,1,1,1,1,1,0},
{0,0,1,1,0,0,0},
{0,1,1,0,1,1,1},
{0,1,1,1,1,0,1},
{1,0,1,1,0,0,1},
{1,1,0,1,1,0,1},
{1,1,0,1,1,1,1},
{0,1,1,1,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,1,0,1}};
char c[10][25];
int pan(int a[]){
for(int i=0;i<10;i++){
int flag=0;
for(int j=0;j<7;j++){
//printf("a[%d]=%d f[%d][%d]=%d\n",j,a[j],i,j,f[i][j]);
if(a[j]!=f[i][j]){
flag=1;
break;
}
}
if(flag==0)return i;
}
return 10;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
for(int i=0;i<7;i++){
scanf("%s",c[i]);
}
int h1,h2,m1,m2;
int a[10];
memset(a,0,sizeof(a));
if(c[0][1]=='X'&&c[0][2]=='X')a[1]=1;
if(c[3][1]=='X'&&c[3][2]=='X')a[6]=1;
if(c[6][1]=='X'&&c[6][2]=='X')a[4]=1;
if(c[1][0]=='X'&&c[2][0]=='X')a[0]=1;
if(c[4][0]=='X'&&c[5][0]=='X')a[5]=1;
if(c[1][3]=='X'&&c[2][3]=='X')a[2]=1;
if(c[4][3]=='X'&&c[5][3]=='X')a[3]=1;
//for(int i=0;i<7;i++)cout<