百度之星之D:共同狂欢

简介: 在北京和纳斯达克的同学们每一个小时整点时就会通一次电话,对一下表,确认一切相关活动都精确同步。但是要注意,在两边的同学位于不同的时区,在夏时制时,两地时差12小时,因此,每次对表都需要做一下时区转换。

时间限制:

1000ms

内存限制:

131072kB

描述

百度2005年8月5日上市时,在北京和纳斯达克的同学们每一个小时整点时就会通一次电话,对一下表,确认一切相关活动都精确同步。但是要注意,在两边的同学位于不同的时区,在夏时制时,两地时差12小时,因此,每次对表都需要做一下时区转换。你来帮我们完成这个有点麻烦的工作吧。

输入

输入的第一行包括一个整数T(T ≤ 30),表示测试数据的组数;接下去的T行每行包括一个时间,表示两地中的一个地方同学报出的整点的时间,表示成“H:M”的形式,其中H是小时(0 ≤H < 24,且当H小于10的时候可以表示成1位或者2位的形式)、M是分钟(0 ≤ M < 60,且当M小于10的时候可以表示成1位或者2位)。

输出

每个测试数据输出一行,当是整点对时时,输出时区转换后的小时结果;当不是整点对时时,输出0。

样例输入

4

12:00

01:01

3:00

00:00

样例输出

24

0

15

12

【答案】

#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main(void)
{
    int iGroups;
    const char* pStrSubLeft = new char[10];
    const char* pStrSubRight = new char[10];
    string strSubLeft;    
    string strSubRight;   
    int iInterVal = 0;    
    int iLen = 0;         
    int iMinute = 0;
    int iHour = 0;
    int iResult = 0;
    
    cin >> iGroups;
    if(iGroups > 30)
    {
        cout << "Error!" << endl;
        return -1;
    }
    
    string strTimeArr[30];
    for( int i = 0; i < iGroups; i++)
    {
        cin >> strTimeArr[i];
        iInterVal = strTimeArr[i].find(':');
        
        iLen = strTimeArr[i].length();
        strSubRight = strTimeArr[i].substr(iInterVal+1,iLen);
        pStrSubRight = strSubRight.c_str();
        iMinute = atoi(pStrSubRight);
        
        strSubLeft = strTimeArr[i].substr(0,iInterVal);
        pStrSubLeft = strSubLeft.c_str();
        iHour = atoi(pStrSubLeft);
 
        if(iHour < 0 || iHour >= 24)
        {
            cout << "Error!" << endl;
            return -1;
        }
        if(iMinute < 0 || iMinute >= 60)
        {
            cout << "Error!" << endl;
            return -1;
        }
        
        if(iMinute != 0)
        {
            iResult = 0;
        }
        else
        {
            if(iHour >= 0 && iHour <= 12)
            {
                iResult = iHour + 12;
            }
            else if(iHour > 12 && iHour <= 24)
            {
                iResult = iHour - 12;
            }
        }
        cout << iResult << endl;
    }
    cout << endl;
 
    return 0;
}

作者:铭毅天下
原文:https://blog.csdn.net/laoyang360/article/details/7621101
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章
|
SQL 分布式计算 数据处理
如何充分发挥 SQL 能力?
如何充分发挥 SQL 能力,是本篇文章的主题。本文尝试独辟蹊径,强调通过灵活的、发散性的数据处理思维,就可以用最基础的语法,解决复杂的数据场景。
158375 59
|
存储 监控 安全
智慧工地管理平台的技术架构和工作原理
智慧工地管理平台是将互联网+的理念和技术引入建筑工地,从施工现场源头抓起,最大程度的收集人员、安全、环境、材料等关键业务数据,依托物联网、互联网,建立云端大数据管理平台,形成“端+云+大数据”的业务体系和新的管理模式,打通从一线操作与远程监管的数据链条,实现劳务、安全、环境、材料各业务环节的智能化、互联网化管理,提升建筑工地的精益生产管理水平。实现“互联网+”与建筑工地的跨界融合,促进行业转型升级。
877 1
|
存储 负载均衡 调度
Docker 多主机部署:构建容器集群的最佳实践,助力高可用性与负载均衡
Docker 多主机部署:构建容器集群的最佳实践,助力高可用性与负载均衡
1318 0
|
存储 缓存 JSON
微信小程序使用本地存储方法
微信小程序使用本地存储方法
655 1
|
存储 关系型数据库 MySQL
MySQL触发器实战:自动执行的秘密
MySQL触发器实战:自动执行的秘密
394 3
|
设计模式 安全 Java
Java 多线程并发编程
Java多线程并发编程是指在Java程序中使用多个线程同时执行,以提高程序的运行效率和响应速度。通过合理管理和调度线程,可以充分利用多核处理器资源,实现高效的任务处理。本内容将介绍Java多线程的基础概念、实现方式及常见问题解决方法。
407 1
|
数据采集 运维 监控
自动化运维:用Python打造简易监控系统
【8月更文挑战第31天】在追求高效的IT世界里,自动化运维不再是奢侈品而是必需品。本文将通过一个Python示例,展示如何构建一个简单的系统监控工具。从数据采集到警报触发,我们将一步步解锁自动化的秘密,让你的服务器管理变得轻松而高效。
|
安全 网络安全 数据安全/隐私保护
计算机网络实验(思科模拟器Cisco Packet Tracer)——无线路由和防火墙配置
计算机网络实验(思科模拟器Cisco Packet Tracer)——无线路由和防火墙配置
计算机网络实验(思科模拟器Cisco Packet Tracer)——无线路由和防火墙配置
|
前端开发 Java API
Android端通过HttpURLConnection上传文件到服务器
Android端通过HttpURLConnection上传文件到服务器
286 0
|
安全 搜索推荐 API
仿牌外贸独立站/逆向淘宝代购集运系统怎么建设,怎么推广,怎么收款?
建设外贸独立站需选择Shopify或Magento等支持外贸的平台,注重网站设计与SEO优化,集成多平台API以同步商品信息。推广方面,利用社交媒体营销、网红合作和邮件营销吸引客户。收款方式应包括PayPal、Stripe等多渠道支付,并采用AB跳转技术及信用卡支付选项,以保证支付安全和便利性。通过综合策略,推动跨境电商业务增长。

热门文章

最新文章