HDU 2017 多校联赛4 1011 Time To Get Up

Problem Description

Little Q’s clock is alarming! It’s time to get up now! However, after reading the time on the clock, Little Q lies down and starts sleeping again. Well, he has 5 alarms, and it’s just the first one, he can continue sleeping for a while.

Little Q’s clock uses a standard 7-segment LCD display for all digits, plus two small segments for the ”:”, and shows all times in a 24-hour format. The ”:” segments are on at all times.

这里写图片描述

Your job is to help Little Q read the time shown on his clock.

Input

The first line of the input contains an integer T(1≤T≤1440), denoting the number of test cases.

In each test case, there is an 7×21 ASCII image of the clock screen.

All digit segments are represented by two characters, and each colon segment is represented by one character. The character ”X” indicates a segment that is on while ”.” indicates anything else. See the sample input for details.

Output

For each test case, print a single line containing a string t in the format of HH:MM, where t(00:00≤t≤23:59), denoting the time shown on the clock.

Sample Input


.XX…XX…..XX…XX. 
X..X….X……X.X..X 
X..X….X.X….X.X..X 
……XX…..XX…XX. 
X..X.X….X….X.X..X 
X..X.X………X.X..X 
.XX…XX…..XX…XX.

Sample Output

02:38

题目大意:

这就是给你一个7*21的字符矩阵,看它打印的时间是多少。下面是0—9的打印方法。每个数字占4个字符,数字间空有一格,方便区分。 
.xx. …. .xx. .xx. …. .xx. .xx. .xx. .xx. .xx. 
x..x …x …x …x x..x x… x… …x x..x x..x 
x..x …x …x …x x..x x… x… …x x..x x..x 
…. …. .xx. .xx. .xx. .xx. .xx. …. .xx. .xx. 
x..x …x x… …x …x …x x..x …x x..x …x 
x..x …x x… …x …x …x x..x …x x..x …x 
.xx. …. .xx. .xx. …. .xx. .xx. …. .xx. .xx.

c++

#include
#include
#include
using namespace std;
char m[8][25];
int sz(int x)
{if(m[3][x]=='X'&&m[3][x+1]=='X'){if(m[2][x-1]=='.'&&m[1][x-1]=='.'){if(m[4][x-1]=='.'&&m[5][x-1]=='.')return(3);else return(2);}else{if(m[2][x+2]=='.'&&m[1][x+2]=='.'){if(m[4][x-1]=='.'&&m[5][x-1]=='.')return(5);else return(6);}else{if(m[4][x-1]=='.'&&m[5][x-1]=='.'){if(m[6][x]=='.'&&m[6][x+1]=='.')return(4);else return(9);}else return(8);}}}else{if(m[6][x]=='.'&&m[6][x+1]=='.'){if(m[0][x]=='.'&&m[0][x+1]=='.')return(1);else return(7);}else return(0);}
}
int main()
{int a,b,c,d,e;cin>>a;getchar();while(a--){for(b=0;b<7;b++){for(c=0;c<21;c++)scanf("%c",&m[b][c]);getchar();}b=sz(1);c=sz(6);d=sz(13);e=sz(18);printf("%d%d:%d%d\n",b,c,d,e);}return 0;
}






本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部