zoukankan      html  css  js  c++  java
  • ACM_ZHANGZHANG喜欢手表

    ZHANGZHANG喜欢手表

    Time Limit: 2000/1000ms (Java/Others)

    Problem Description:

    ZHANGZHANG刚过生日,收到了好朋友NENGNENG挖宝藏挖到的一个手表,可喜欢了。
     
    ZHANGZHANG发现,这个手表跟电脑主机后面的时钟有着极大的相似性,于是ZHANGZHANG决定对它进行深入研究。
    通过收集资料ZHANGZHANG发现,这里每个数字的显示是由8个LED灯来决定的,LED灯的亮与暗决定了最终显示的数字。因为一个数字有显示一共有8个LED灯,分别给它们标上abcdefgh,就得到下面这图。 
    聪明的ZHANGZHANG一下子就想到了可以用一个8位的二进制来表示一个数字,如数字0,那么就可以把abcdef灯置为1,其他置为0,于是得到一个数字 00111111 (即hgfedcba)。其他数字如下图 
    那么,手表上有四个数字,肯定就可以用一个32位的二进制整数来表示,那么给你一个时间,输出对应的整数。

    Input:

    输入有多组数据数据,每组数据一行,输入一个时间,格式为HH:mm。

    Output:

    对于每组数据,输出一个32位整数(输出十进制)。

    Sample Input:

    00:00
    01:23
    23:59

    Sample Output:

    1061109567
    1057381199
    1531932015
    Hints:
    样例2中,对应的32位二进制为 00111111000001100101101101001111,它的十进制是1057381199。
    解题思路:注意:0~9这10个数字中h灯的状态始终为0。做法:将数字对应的字符串(显示状态)相加,再从右往左求32位二进制的10进制即可,水过。
    AC代码:
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main(){
     4     string hour,obj,str[]={"00111111","00000110","01011011","01001111",
     5     "01100110","01101101","01111101","00000111","01111111","01101111"};
     6     int ans,base;
     7     while(cin>>hour){
     8         obj=str[hour[0]-'0']+str[hour[1]-'0']+str[hour[3]-'0']+str[hour[4]-'0'];
     9         ans=0;base=1;
    10         for(int i=31;i>=0;--i){
    11             if(obj[i]=='1')ans+=base;
    12             base*=2;
    13         }
    14         cout<<ans<<endl;
    15     }
    16     return 0;
    17 }
  • 相关阅读:
    性能测试监控指标-数据库
    cpu 故障定位
    ubuntu安装boost
    固定IP下虚拟机网卡配置及ssh
    零基础天池新闻推荐初学-04-排序模型+模型融合的简单学习(TODO 待进一步完善)
    零基础天池新闻推荐初学-04-特征工程(制作特征列和标签列,转为监督学习)
    零基础天池新闻推荐初学-03-多路召回
    零基础天池新闻推荐初学-02-数据分析
    零基础天池新闻推荐初学-01-赛题理解&Baseline
    初学推荐系统-06- GBDT+LR模型
  • 原文地址:https://www.cnblogs.com/acgoto/p/9240341.html
Copyright © 2011-2022 走看看