NBUT 1219 Time
来源:互联网 发布:doujinmode新域名 编辑:程序博客网 时间:2024/05/01 14:22
[1219] Time
- 时间限制: 1000 ms 内存限制: 131072 K
- 问题描述
- 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.
- 输入
- There are several test cases.
Each case contains 4 integers in a line, separated by space.
Proceed to the end of file. - 输出
- For each test case, output the time expressed by the digital clock such as Sample Output.
- 样例输入
1 2 5 62 3 4 2
- 样例输出
_ _ _ | _||_ |_ ||_ _||_| _ _ _ _| _||_| _||_ _| ||_
- 提示
The digits showed by the digital clock are as follows: _ _ _ _ _ _ _ _ | _| _||_||_ |_ ||_||_|| | ||_ _| | _||_| ||_| _||_|
- 来源
辽宁省赛2010
题目意思也很简单就是用字符串模拟时钟,注意每个数字占三格,最暴力的方法就是直接定义三个字符数组,按要求输出,还有一点就是0在最后一位,要特殊处理一下。#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <string>#include <vector>#include <cmath>#include <ctime>#include <queue>#include <stack>#include <set>#include <map>using namespace std;typedef long long LL;const int maxn= 100000 + 10;char s1[35]=" _ _ _ _ _ _ _ _ ";char s2[35]=" | _| _||_||_ |_ ||_||_|| |";char s3[35]=" ||_ _| | _||_| ||_| _||_|";int main() { int a,b,c,d; while(~scanf("%d%d%d%d",&a,&b,&c,&d)) { getchar(); if(a==0) a=10; if(b==0) b=10; if(c==0) c=10; if(d==0) d=10; printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",s1[a*3-2],s1[a*3-1],s1[a*3],s1[b*3-2],s1[b*3-1],s1[b*3],s1[c*3-2],s1[c*3-1],s1[c*3],s1[d*3-2],s1[d*3-1],s1[d*3]); printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",s2[a*3-2],s2[a*3-1],s2[a*3],s2[b*3-2],s2[b*3-1],s2[b*3],s2[c*3-2],s2[c*3-1],s2[c*3],s2[d*3-2],s2[d*3-1],s2[d*3]); printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",s3[a*3-2],s3[a*3-1],s3[a*3],s3[b*3-2],s3[b*3-1],s3[b*3],s3[c*3-2],s3[c*3-1],s3[c*3],s3[d*3-2],s3[d*3-1],s3[d*3]); } return 0;}
这是最开始写的纯暴力方法,看上去好不协调啊…+_+…#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <string>#include <vector>#include <cmath>#include <ctime>#include <queue>#include <stack>#include <set>#include <map>using namespace std;typedef long long LL;const int maxn= 100000 + 10;char s[3][35]= {" _ _ _ _ _ _ _ _ ", " | _| _||_||_ |_ ||_||_|| |", " ||_ _| | _||_| ||_| _||_|" };int a[4];int main() { while(~scanf("%d",&a[0])) { for(int i=1; i<4; i++) scanf("%d",&a[i]); for(int i=0; i<4; i++) if(!a[i]) a[i]+=10; for(int i=0; i<3; i++) { for(int j=0; j<4; j++) { int t=a[j]; printf("%c%c%c",s[i][t*3-2],s[i][t*3-1],s[i][t*3]); } puts(""); } } return 0;}
O(∩_∩)O哈哈~这样看上去清爽多了吧。还有一种比较屌的方法,是照着基神的代码敲的(真不知道基神脑袋怎么长的,就是跟常人思维不一样……好吧…%>_<%…其实不可否认的还是自己太愚笨…Orz),虽然本人目前没看懂,但还是贴上来把,求大神赐教^_^#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <string>#include <vector>#include <cmath>#include <ctime>#include <queue>#include <stack>#include <set>#include <map>using namespace std;typedef long long LL;const int maxn= 100000 + 10;char s[50][50];int data[]={119,36,93,109,46,107,123,37,127,111};int slove(int p,int x){ x=data[x]; if(x>>0&1)s[0][p+1]='_'; if(x>>1&1)s[1][p+0]='|'; if(x>>2&1)s[1][p+2]='|'; if(x>>3&1)s[1][p+1]='_'; if(x>>4&1)s[2][p+0]='|'; if(x>>5&1)s[2][p+2]='|'; if(x>>6&1)s[2][p+1]='_';}int main() { int a[5]; while(~scanf("%d",&a[0])) { for(int i=1; i<4; i++) scanf("%d",&a[i]); memset(s,' ',sizeof(s)); for(int i=0;i<3;i++) s[i][12]=0; for(int i=0;i<4;i++) slove(i*3,a[i]); for(int i=0;i<3;i++) printf("%s\n",s[i]); } return 0;}
1 0
- NBUT [1219] Time
- NBUT 1219 Time
- NBUT 1219 Time
- NBUT 1219 Time(三维数组)
- NBUT 1561 Set Time
- NBUT
- NBUT
- NBUT
- NBUT
- NBUT
- 【NBUT
- NBUT
- NBUT
- NBUT
- NBUT
- NBUT
- nbut 1475
- NBUT 1481
- animate方法只适用于使用数值设置的css属性
- 曾经的学习笔记搬迁_140715
- 一个人的旅行
- 操作系统——第0篇
- php绘制图片失败,使用清除缓存ob_clean()可以解决。
- NBUT 1219 Time
- Java8 新特性 Lambda 表达式学习心得
- android实现Socket通信二
- POJ 2513 Colored Sticks(字典树+欧拉路径)
- c#(winform)中ComboBox和ListBox添加项,写一个用户控件
- spring 初始化 Bean的方式及相关应用
- URLRewriteFilter usage - use-query-string="true" and use-context="true"
- PE文件结构
- 部署nginx前端优化模块ngx_pagespeed