1003: Time
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 27 Solved: 13
[ Submit][ Status][ Web Board]
Description
Digital clock use 4 digits to express time, each digit is described by 3*3 characters (including”|”,”_”and” “).now given the current time, please tell us how can it be expressed by the digital clock.
Input
There are several test cases.
Each case contains 4 integers in a line, separated by space.
Proceed to the end of file.
Output
For each test case, output the time expressed by the digital clock such as Sample Output.
Sample Input
1 2 5 6
2 3 4 2
Sample Output
_ _ _
| _||_ |_
||_ _||_|
_ _ _
_| _||_| _|
|_ _| ||_
HINT
The digits showed by the digital clock are as follows: _ _ _ _ _ _ _ _ | _| _||_||_ |_ ||_||_|| | ||_ _| | _||_| ||_| _||_|
解题思路:
题意要求把相应的数字转换成时钟对应的图形输出。
首先预处理出0~9所有数字的图形,这里很多细节,比如每个数字占三个位置,如果是1的话,前面两个补空格什么的····具体详见代码···此处坑无限多
完整代码:
#include <functional> #include <algorithm> #include <iostream> #include <fstream> #include <sstream> #include <iomanip> #include <numeric> #include <cstring> #include <climits> #include <cassert> #include <complex> #include <cstdio> #include <string> #include <vector> #include <bitset> #include <queue> #include <stack> #include <cmath> #include <ctime> #include <list> #include <set> #include <map> using namespace std; #pragma comment(linker, "/STACK:102400000,102400000") typedef long long LL; typedef double DB; typedef unsigned uint; typedef unsigned long long uLL; /** Constant List .. **/ //{ const int MOD = int(1e9)+7; const int INF = 0x3f3f3f3f; const LL INFF = 0x3f3f3f3f3f3f3f3fLL; const DB EPS = 1e-9; const DB OO = 1e20; const DB PI = acos(-1.0); //M_PI; const int maxn = 1001; int a[4]; string s1[maxn] = { " _ " , " " , " _ " , " _ " , " " , " _ " , " _ " , " _ " , " _ " , " _ " }; string s2[maxn] = { "| |" , " |" , " _|" , " _|" , "|_|" , "|_ " , "|_ " , " |" , "|_|" , "|_|" }; string s3[maxn] = { "|_|" , " |" , "|_ " , " _|" , " |" , " _|" , "|_|" , " |" , "|_|" , " _|" }; int main() { #ifdef DoubleQ freopen("in.txt","r",stdin); #endif while(cin >> a[0] >>a[1] >> a[2] >> a[3]) { for(int i = 0 ; i < 4 ; i ++) cout << s1[a[i]]; cout << endl; for(int i = 0 ; i < 4 ; i ++) cout << s2[a[i]]; cout << endl; for(int i = 0 ; i < 4 ; i ++) cout << s3[a[i]]; cout << endl; } }