PAT 1014. 福尔摩斯的约会 (20)

摘要:
3#包括<6chara1[100];小时;15if(strlen(a)<19if(strlen(b)<21else22lenb=字符串(b1);='G′&31}32}33if(a[i]==a1[i]&ka==2){34if(a[i]<='N'&='a'||a[i]&lt,='9'&='0'){35if(a[i]<

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母's'出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。

输入格式:

输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。

输出格式:

在一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。

输入样例:

3485djDkxh4hhGE 
2984akDfkkkkggEdsb 
s&hgsfdk 
d&Hyscvnm

输出样例:

THU 14:04

本题看清条件很关键。

DAY的条件:字母介于A到G;

HH的条件:字母介于0到9,A到N;

MM的条件:字母介于a到z,A到Z;

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 int main(){
 5     char a[100];
 6     char a1[100];
 7     char b[100];
 8     char b1[100];
 9     gets(a);
10     gets(a1);
11     gets(b);
12     gets(b1);
13     int lena,lenb;
14     int day,hh,mm;
15     if(strlen(a)<=strlen(a1))
16         lena = strlen(a);
17     else
18         lena =  strlen(a1);
19     if(strlen(b)<=strlen(b1))
20         lenb = strlen(b);
21     else
22         lenb =  strlen(b1);
23     int ka=1;
24     int kb=1;
25     for(int i=0;i<lena;i++){
26         if(a[i]==a1[i]&&ka==1){
27             if(a[i]<='G'&&a[i]>='A'){
28                 day = a[i]-'A';
29                 ka++;
30                 continue;
31             }
32         }
33         if(a[i]==a1[i]&&ka==2){
34             if(a[i]<='N'&&a[i]>='A'||a[i]<='9'&&a[i]>='0'){
35                 if(a[i]<='Z'&&a[i]>='A'){
36                     hh = a[i]-'A'+1;
37                     hh = hh+9;
38                 }
39                     
40                 else{
41                     hh = a[i]-'0';
42                 }
43                     
44                 break;
45             }
46         }
47         
48     }
49     for(int i=0;i<lenb;i++){
50         if(b[i]==b1[i]){
51             if(b[i]<='Z'&&b[i]>='A'||b[i]<='z'&&b[i]>='a'){
52                 mm = i;
53                 break;
54             }
55         }
56     }
57     char day1[][4]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
58     printf("%s ",day1[day]);
59     printf("%02d:%02d",hh,mm);
60 }

免责声明:文章转载自《PAT 1014. 福尔摩斯的约会 (20)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇LevelDB原理解析深入探究VC —— 链接器link.exe(4)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

RK 打包脚本 make_ext4fs system.img

https://blog.csdn.net/ttxgz/article/details/7542380 一.打包到system.img 报的问题 生成镜像时提示Out of space 1.1.mkimage.sh #!/bin/bash set -e cp -rf kernel/arch/arm/boot/zImage out/ta...

pandas的DataFrame与python的dict字典之间的相互转换

一、dict生成DataFrame  1、如果只有一个dict,即一行dataframe数据 # 注:dict的形式必须是如下2种,不然会报错 # 1、dict外面加一层list【】 dict_a = [{'a': 0, 'b': 1, 'c': 2}] # 2、dict内部的数据至少有1个或多个是list形式 # 注:此时dict外面如果加上li...

ORACLE 判断首字母大小写问题

1.对判断的字段进行拆分 select  substr(要区分的字段,0,1)  from 表 ; 得到一个 首字母 2.对这个字符进行大小写判断 查出以小写字符为开头的 select  substr(要区分的字段,0,1)  from 表  where  substr(要区分的字段,0,1)=lower((substr(要区分的字段,0,1) )) ;...

elementui 在表格表头里面添加按钮

在表格表头里面添加按钮  在列中动态绑定 :render-header,             <el-table-column align='center'                 prop="dataSource"                 label="数据源"                 width="200" :re...

spring-入门

1.spring是什么?   spring是一个轻量型的框架,主要体现在管理每一个Bean组件的生命周期,不同Bean组件之间依赖关系上面。   它主要是通过顶层容器BeanFactory来管理每一个Bean组件的生命周期,通过子类ApplicationContext实现工厂模式下每一个Bean组件的创建。 2.两大核心:   IOC/DI:控制反转/依赖...

NLog使用方法

一、软件网站:http://www.nlog-project.org/下载:http://sourceforge.net/project/showfiles.php?group_id=116456说明:如果是.Net 2.0使用, 请下载nlog-1.0-net-2.0.zip      里面的bin目录下有多个,c# 使用nlog.dll文件:nlog....