您的位置:首页 > 大数据 > 人工智能

2017 Multi-University Training Contest - Team 4 1011 Time To Get Up

2017-08-04 15:37 597 查看

Time To Get Up

[align=center]Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 402    Accepted Submission(s): 314
[/align]

[align=left]Problem Description[/align]

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.
 

[align=left]Input[/align]

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.
 

[align=left]Output[/align]

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.
 

[align=left]Sample Input[/align]

1
.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.

 

[align=left]Sample Output[/align]

02:38

 

简单模拟
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long LL;

const LL INF = 1e18;
const int MAXN = 1e3 + 100;
const int MOD = 1e9 + 7;
char G[10][25];

int judge(int i)
{
int l, r;
if (i == 1)
{
l = 0, r = 3;
}
else if (i == 2)
{
l = 5, r = 8;
}
else if (i == 3)
{
l = 12, r = 15;
}
else
{
l = 17, r = 20;
}
if (G[1][l + 1] != 'X')
{
if (G[4][l + 1] == 'X')
{
return 4;
}
else
{
return 1;
}
}
else
{
if (G[2][r] != 'X')
{
if (G[5][l] == 'X')
{
return 6;
}
else
{
return 5;
}
}
if (G[4][l + 1] != 'X')
{
if (G[2][l] == 'X')
{
return 0;
}
else
{
return 7;
}
}
if (G[2][l] == 'X')
{
if (G[5][l] == 'X')
{
return 8;
}
else
{
return 9;
}
}
if (G[5][l] == 'X')
{
return 2;
}
else
{
return 3;
}
}
}
int main()
{
int T;
scanf("%d", &T);
while (T--)
{
for (int i = 1; i <= 7; ++i)
{
scanf("%s", G[i]);
}
int h1 = judge(1);
int h2 = judge(2);
int h3 = judge(3);
int h4 = judge(4);
printf("%d%d:%d%d\n", h1, h2, h3, h4);
}
return 0;
}
/*
.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.
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm 模拟 hdu 多校训练
相关文章推荐