- 浏览: 79711 次
- 性别:
- 来自: 江苏
文章分类
最新评论
-
kissyssong:
kissyssong 写道先顶再看!除法是Division吧, ...
杰哥私房题──大数相除 -
kissyssong:
先顶再看!除法是Division吧,怎么搞了个减法啊
杰哥私房题──大数相除 -
kissyssong:
这个比我自己写的好理解啊,顶
杰哥私房题──大数相乘 -
sesame:
兄弟真的很会折腾,不错! 刚好也用到windows连接ubun ...
Ubuntu与Windows 之间的远程桌面连接 -
soft901:
用递归写了个
private void josephu ...
杰哥私房题──约瑟夫问题
问题描述
直到19 世纪,时间校准是一个纯粹的地方现象。每一个村庄当太阳升到最高点的
时候把他们的时钟调到中午12 点。一个钟表制造商人家或者村里主表的时间被认为是
官方时间,市民们把自家的钟表和这个时间对齐。每周一些热心的市民会带着时间标准
的表,游走大街小巷为其他市民对表。在城市之间旅游的话,在到达新地方的时候需要
把怀表校准。但是,当铁路投入使用之后,越来越多的人频繁地长距离地往来,时间变
得越来越重要。在铁路的早期,时刻表非常让人迷惑,每一个所谓的停靠时间都是基于
停靠地点的当地时间。时间的标准化对于铁路的高效运营变得非常重要。
在1878 年,加拿大人Sir Sanford Fleming 提议使用一个全球的时区(这个建议被
采纳,并衍生了今天我们所使用的全球时区的概念),他建议把世界分成24 个时区,每
一个跨越15 度经线(因为地球的经度360 度,划分成24 块后,一块为15 度)。Sir Sanford
Fleming 的方法解决了一个全球性的时间混乱的问题。
美国铁路公司于1883 年11 月18 日使用了Fleming 提议的时间方式。1884 年一个
国际子午线会议在华盛顿召开,他的目的是选择一个合适的本初子午线。大会最终选定
了格林威治为标准的0 度。尽管时区被确定了下来,但是各个国家并没有立刻更改他们
的时间规范,在美国,尽管到1895 年已经有很多州开始使用标准时区时间,国会直到
1918 年才强制使用会议制定的时间规范。
今天各个国家使用的是一个Fleming 时区规范的一个变种,中国一共跨越了5 个时
区,但是使用了一个统一的时间规范,比Coordinated Universal Time(UTC,格林威制
时间)早8 个小时。俄罗斯也拥护这个时区规范,尽管整个国家使用的时间和标准时区
提前了1 个小时。澳大利亚使用3 个时区,其中主时区提前于他按Fleming 规范的时区
半小时。很多中东国家也使用了半时时区(即不是按照Fleming 的24 个整数时区)。
因为时区是对经度进行划分,在南极或者北极工作的科学家直接使用了UTC 时间,
否则南极大陆将被分解成24 个时区。
时区的转化表如下:
UTC Coordinated Universal Time
GMT Greenwich Mean Time, 定义为 UTC
BST British Summer Time, 定义为 UTC+1 hour
IST Irish Summer Time, 定义为 UTC+1 hour
WET Western Europe Time, 定义为 UTC
WEST Western Europe Summer Time, 定义为 UTC+1 hour
CET Central Europe Time, 定义为 UTC+1
CEST Central Europe Summer Time, 定义为 UTC+2
EET Eastern Europe Time, 定义为 UTC+2
EEST Eastern Europe Summer Time, 定义为 UTC+3
MSK Moscow Time, 定义为 UTC+3
MSD Moscow Summer Time, 定义为 UTC+4
AST Atlantic Standard Time, 定义为 UTC-4 hours
ADT Atlantic Daylight Time, 定义为 UTC-3 hours
NST Newfoundland Standard Time, 定义为 UTC-3.5 hours
NDT Newfoundland Daylight Time, 定义为 UTC-2.5 hours
EST Eastern Standard Time, 定义为 UTC-5 hours
EDT Eastern Daylight Saving Time, 定义为 UTC-4 hours
CST Central Standard Time, 定义为 UTC-6 hours
CDT Central Daylight Saving Time, 定义为 UTC-5 hours
MST Mountain Standard Time, 定义为 UTC-7 hours
MDT Mountain Daylight Saving Time, 定义为 UTC-6 hours
PST Pacific Standard Time, 定义为 UTC-8 hours
PDT Pacific Daylight Saving Time, 定义为 UTC-7 hours
HST Hawaiian Standard Time, 定义为 UTC-10 hours
AKST Alaska Standard Time, 定义为 UTC-9 hours
AKDT Alaska Standard Daylight Saving Time, 定义为 UTC-8 hours
AEST Australian Eastern Standard Time, 定义为 UTC+10 hours
AEDT Australian Eastern Daylight Time, 定义为 UTC+11 hours
ACST Australian Central Standard Time, 定义为 UTC+9.5 hours
ACDT Australian Central Daylight Time, 定义为 UTC+10.5 hours
AWST Australian Western Standard Time, 定义为 UTC+8 hours
下面给出了一些时间,请在不同时区之间进行转化。
输入数据
输入的第一行包含了一个整数N,表示有N 组测试数据。接下来N 行,每一行包
括一个时间和两个时区的缩写,它们之间用空格隔开。时间由标准的a.m./p.m 给出。
midnight 表示晚上12 点(12:00 a.m.),noon 表示中午12 点(12:00 p.m.)。
输出要求
假设输入行给出的时间是在第一个时区中的标准时间,要求输出这个时间在第二个
时区中的标准时间。
输入样例
4
noon HST CEST
11:29 a.m. EST GMT
6:01 p.m. CST UTC
12:40 p.m. ADT MSK
输出样例
midnight
4:29 p.m.
12:01 a.m.
6:40 p.m.
#include <stdio.h> int diff(char* zone1, char* zone2){ char* zone[32]={"UTC","GMT","BST","IST","WET","WEST", "CET","CEST","EET","EEST","MSK","MSD","AST","ADT","NST","NDT", "EST","EDT","CST","CDT","MST","MDT","PST","PDT","HST","AKST", "AKDT","AEST","AEDT","ACST","ACDT","AWST"}; float time[32]={0,0,1,1,0,1,1,2,2,3,3,4,-4,-3,-3.5,-2.5,-5,-4,-6,-5,-7,13. -6,-8,-7,-10,-9,-8,10,11,9.5,10.5,8}; int i = 0 ,j = 0; while(strcmp(zone[i], zone1)) i++; while(strcmp(zone[j], zone2)) j++; return (time[i]- time[j]) * 60; } int main(){ int nCases; scanf("%d", &nCases); while(nCases --){ char time[10]; int hours, minutes; scanf("%s", time); switch(time[0]){ case 'n': hours = 12; minutes = 0;break; case 'm': hours = 0; minutes = 0;break; default: sscanf(time, "%d:%d", &hours, &minutes); hours %= 12; scanf("%s", time); if(time[0] == 'p') hours += 12; } char timezone[5], timezoneT[5]; scanf("%s%s", timezone, timezoneT); int newTime; newTime = hours * 60 + minutes + diff(timezoneT,timezone); if(newTime < 0) newTime += 1440; newTime %= 1440; switch(newTime){ case 0: printf("midnight\n"); break; case 720: printf("noon"); break; default: hours = newTime /60; minutes = newTime % 60; if(hours == 0) printf("12:%02d a.m\n", minutes); else if(hours < 12) printf("%d:%02d a.m\n", hours, minutes); else if(hours == 12) printf("12:%02d p.m\n", minutes); else printf("%d:%02d p.m\n", hours % 12,minutes); } } return 0; }
发表评论
-
杰哥私房题──麦森数
2009-03-17 18:47 2200问题描述 形如2p-1 的素数称为麦森数,这时P 一定也是个素 ... -
杰哥私房题──大数相除
2009-03-16 11:06 1774问题描述 求两个大的正整数相除的商 输入数据 第1 行是测试数 ... -
杰哥私房题──大数相乘
2009-03-13 10:44 1493问题描述 求两个不超过200 位的非负整数的积。 输入数据 有 ... -
杰哥私房题──大数相加
2009-03-11 15:17 1370问题描述 求两个不超过200 位的非负整数的和。 输入数据 有 ... -
杰哥私房题──排列
2009-03-10 17:25 1582问题: 大家知道,给出正整数n,则1 到n 这n 个数可以构成 ... -
杰哥私房题——显示器
2009-03-09 17:56 1091问题描述你的一个朋友买了一台电脑。他以前只用过计算器,因为电脑 ... -
杰哥私房题──花生问题
2009-03-07 08:54 1701问题描述 鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿 ... -
杰哥私房题──约瑟夫问题
2009-03-04 13:08 1615问题描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王( ... -
杰哥私房题──玛雅历
2009-03-03 12:16 1707问题描述 上周末,M.A ... -
杰哥私房题──日历问题
2009-03-03 12:13 1201问题描述 在我们现在使用的日历中, 闰年被定义为能被4 整除的 ... -
杰哥私房题──细菌繁殖
2009-03-02 17:08 1455问题描述 一种细菌的繁殖速度是每天成倍增长。例如:第一天有10 ... -
杰哥私房题──最难的问题
2009-03-02 17:03 1229问题描述 Julius Caesar 生活在充满危险和阴谋的年 ... -
杰哥私房题──字串
2009-02-28 10:48 3512问题描述 有一些由英文字符组成的大小写敏感的字符串。请写一个程 ... -
杰哥私房题──487-3279
2009-02-26 22:36 1392问题描述 企业喜欢用容易被记住的电话号码。让电话号码容易被记住 ... -
杰哥私房题──相邻数字的基数不等比:skew数
2009-02-25 13:52 1158问题描述 在 skew binary 表示中, 第 k 位的值 ... -
杰哥私房题──相邻数字的基数等比:确定进制
2009-02-24 20:39 1404问题描述 6*9 = 42 对于十进制来说是错误的,但是对于 ... -
杰哥私房题──装箱子
2009-02-18 20:31 973问题描述 一个工厂制造的产品形状都是长方体,它们的高度 ... -
杰哥私房题──填词
2009-02-16 19:39 1390问题描述 Alex 喜欢填词游戏。填词游戏是一个非 ... -
杰哥私房题──校门外的大树
2009-02-14 14:15 1122问题描述 某校大门外长度为 L 的马路上有一排树,每两 ... -
杰哥私房题──棋盘上的距离
2009-02-13 15:02 1120问题描述 国际象棋的棋盘是黑白相间的 8 * 8 ...
相关推荐
需要杰哥讲解的毕设js代码
C++自制小游戏《杰哥和阿伟》源码(cpp) C++小游戏,由哔哩哔哩的梗制作而成,切勿当真哦~ 游戏内行为请勿模仿! 原创小游戏,请勿转载或整改~ 记得关注@Ender_momo,短时间内将发布制作过程
杰哥两套卷.rar
有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关
本人收集的几套百度笔试题。 doc格式,需要找工作的可以看看
Ceph是一个开源的分布式文件系统。因为它还支持块存储、对象存储,所以很自然的被用做云计算框架openstack或cloudstack整个存储后端。当然也可以单独作为存储,例如部署一套集群作为对象存储、SAN存储、NAS存储等。...
python深度学习-pandas
杰哥应急响应ppt
百度google 笔试题汇总,全是word 文档。对找实习有很多好处的
C语言35页第4题第2小问.exe
android滚轮时间省份选择,android仿照ios滚轮,选择时间省份,特效
杰哥阅读器Backlog检查RSS是否更新。可以分享社交应用上。(朋友圈、微博等)可以通过左抽屉查看单个RSS源。每个RSS源显示文章数。最下面显示文章最后更新时间。支持中英文。文章的时间需要用资源来解决复数。...
前段时间公司在研发一个电商项目,趁现在有时间把其中的知识点整理整理。 项目的商品详情页面当时是仿制淘宝的,用到的第三方库是MJRefresh,上拉操作和下拉操作的刷新效果是把MJRefresh刷新效果从新建个分类封装了...
大家可以通过这篇文献对控制领域有一个大体的认知。 更多炸裂内容,详见公粽号 :杰哥的无人驾驶便利店。
反汇编代码转换 也可以用做字节集转换 无毒 无后门
该文档为配套的【杰哥日常小工具】字符串处理工具的登录效验码,下载工具后可登录解码该文档信息获取管理员或VIP登录码
matlab软件下载:lingo教程数学建模Lingo系列视频(爆肝杰哥): Lingo(1)基础篇:BV1CT4y177qS Lingo(2)入门篇:BV1U
文章目录1 故事的开局2 杰哥的表演2.1 sl2.2 htop2.3 gcp2.4 hollywood2.5 cmatrix2.6 asciiview2.7 ninvaders2.8 bastet2.9 pipe2.10 oneko3 博主的炸弹4 总结 1 故事的开局 周末到了,部门里几个小伙伴约好了一起...
无人驾驶车辆轨迹跟踪控制综述型参考英文文献!大家可以通过这篇文献对控制领域有一个大体的认知。 更多炸裂内容,详见公粽号 :杰哥的无人驾驶便利店