题意:
读出用x组成的7字数码管的显示值,格式是HH:MM
#include
#include
#include
using namespace std;
const char num[10][7][5] = {".XX.", "X..X", "X..X", "....", "X..X", "X..X", ".XX.",
"....", "...X", "...X", "....", "...X", "...X", "....",
".XX.", "...X", "...X", ".XX.", "X...", "X...", ".XX.",
".XX.", "...X", "...X", ".XX.", "...X", "...X", ".XX.",
"....", "X..X", "X..X", ".XX.", "...X", "...X", "....",
".XX.", "X...", "X...", ".XX.", "...X", "...X", ".XX.",
".XX.", "X...", "X...", ".XX.", "X..X", "X..X", ".XX.",
".XX.", "...X", "...X", "....", "...X", "...X", "....",
".XX.", "X..X", "X..X", ".XX.", "X..X", "X..X", ".XX.",
".XX.", "X..X", "X..X", ".XX.", "...X", "...X", ".XX."};
char tm[10][25];
char n[7][5];
int check(){
for (int i=0; i<10; i++){
bool flag = true;
for (int j=0; j<7; j++){
if (strcmp(n[j], num[i][j]) != 0){
flag = false;
break;
}
}
if (flag){
return i;
}
}
return -1;
}
int main()
{
int t;
scanf("%d", &t);
while (t > 0){
t--;
for (int i=0; i<7; i++) scanf("%s", tm[i]);
int a, b, c, d;
for (int i=0; i<7; i++){
strncpy(n[i], tm[i], 4);
}
a = check();
for (int i=0; i<7; i++){
strncpy(n[i], tm[i]+5, 4);
}
b = check();
for (int i=0; i<7; i++){
strncpy(n[i], tm[i]+12, 4);
}
c = check();
for (int i=0; i<7; i++){
strncpy(n[i], tm[i]+17, 4);
}
d = check();
printf("%d%d:%d%d\n", a,b,c,d);
}
return 0;
}