博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 6077 Time To Get Up【模拟题】【水题】
阅读量:6825 次
发布时间:2019-06-26

本文共 2646 字,大约阅读时间需要 8 分钟。

Time To Get Up

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 364    Accepted Submission(s): 288


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(1T1440), 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:00t23:59), denoting the time shown on the clock.
 

Sample Input
 
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.
 

Sample Output
 
02:38
 

Source

对数字的特征进行一下判断即可。

#include 
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f#define ms(x,y) memset(x,y,sizeof(x))using namespace std;typedef long long ll;const double pi = acos(-1.0);const double eps = 1e-8;const int maxn = 1e6 + 10;char a[10][30] = { 0 };int solve(int p){ if (a[3][p + 1] == '.') { if (a[6][p + 1] == 'X') return 0; if (a[0][p + 1] == 'X') return 7; return 1; } if (a[1][p] == '.') { if (a[4][p] == 'X') return 2; return 3; } if (a[1][p + 3] == '.') { if (a[4][p] == '.') return 5; return 6; } if (a[4][p] == '.') { if (a[6][p + 1] == '.') return 4; return 9; } return 8;}int main(){ int t; scanf("%d", &t); while (t--) { ms(a, 0); for (int i = 0; i < 7; i++) { for (int j = 0; j < 21; j++) { scanf(" %c", &a[i][j]); } } int h1, h2, m1, m2; for (int i = 0; i < 4; i++) { int p; if (i == 0) p = 0; else if (i == 1) p = 5; else if (i == 2) p = 12; else p = 17; if (i == 0) h1 = solve(p); else if (i == 1) h2 = solve(p); else if (i == 2) m1 = solve(p); else m2 = solve(p); } printf("%d%d:%d%d\n", h1, h2, m1, m2); } return 0;}

转载于:https://www.cnblogs.com/Archger/p/8451614.html

你可能感兴趣的文章
Ansible入门
查看>>
Spring常用注解
查看>>
SVN学习总结(1)——SVN简介及入门使用
查看>>
浅谈linux性能调优之五:调优软raid
查看>>
Android sdk下载缓慢解决方式
查看>>
Q+无法启动?启动后立即退出?折腾……
查看>>
SQL2008不能删除过期备份
查看>>
IBM TPC强化中国建设银行存储管理能力
查看>>
exchange2013恢复数据库
查看>>
flume收集tomcat日志保存到本地目录
查看>>
常用ftp子命令的总结
查看>>
IOS 集成 ijkplayer遇到的问题
查看>>
正则表达式
查看>>
在 JS 中使用 fetch 更加高效地进行网络请求
查看>>
javascript 分页算法
查看>>
Windows 8 中取消的功能特性
查看>>
android手机root后的安全问题
查看>>
bat改ip
查看>>
SpringBoot之在Servlet2.5容器中部署war应用
查看>>
jackson 输出json到控制台
查看>>