专栏首页卡尼慕1014 福尔摩斯的约会 (20 分)

1014 福尔摩斯的约会 (20 分)

1014 福尔摩斯的约会 (20 分)

代码

// 1014 福尔摩斯的约会 (20 分).cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int find_same(string str1, string str2, int index, int number) {
    //两串字符串找出第一个相同的位置
    int size = str1.size();
    if (size > str2.size())
        size = str2.size();
    for (; index < size; index++) {
        if (number == 1 && str1[index] == str2[index] && str1[index] >= 'A' && str1[index] <= 'G')
            return index;
        if (number == 2 && str1[index] == str2[index] && ((str1[index] >= 'A' && str1[index] <= 'N') || (str1[index] >= '0' && str1[index] <= '9')))
            return index;
        if (number == 3 && str1[index] == str2[index] && isalpha(str1[index]))
            return index;
    }
    return 0;
}

int main(){
    string input;
    vector<string> input_vector;
    //输入4串
    int num = 4;
    while (num) {
        cin >> input;
        input_vector.push_back(input);
        num--;
    }
    //Day:某星期
    int Day_number = find_same(input_vector[0], input_vector[1], 0, 1);
    char Day = input_vector[0][Day_number];
    //Hour:某个小时
    int Hour_number = find_same(input_vector[0], input_vector[1], Day_number + 1, 2);
    char Hour = input_vector[0][Hour_number];
    //Min:分钟
    int Min = find_same(input_vector[2], input_vector[3], 0, 3);
    //输出日期
    switch (Day){
    case 'A' :
        cout << "MON ";
        break;
    case 'B':
        cout << "TUE ";
        break;
    case 'C':
        cout << "WED ";
        break;
    case 'D':
        cout << "THU ";
        break;
    case 'E':
        cout << "FRI ";
        break;
    case 'F':
        cout << "SAT ";
        break;
    case 'G':
        cout << "SUN ";
        break;
    }
    if (Hour >= '0' && Hour <= '9')
        cout << "0" << Hour << ":";
    if (Hour >= 'A' && Hour <= 'N') {
        int temp = Hour - 'A' + 10;
        cout << temp << ":";
    }
    if (Min >= 0 && Min <= 9) {
        cout << "0" << Min;
    }
    if (Min >= 10 && Min <= 60) {
        cout << Min;
    }
}

这题目只要搞清楚了约束条件就很简单了,不细说。

本文分享自微信公众号 - 卡尼慕(gh_40138f7dc7d3),作者:卡尼幕

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 1042 字符统计 (20 分)

    输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。

    可爱见见
  • 1023 组个最小数 (20 分)

    可爱见见
  • 1029 旧键盘 (20 分)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

    可爱见见
  • BiLSTM的PyTorch应用

    本文介绍一下如何使用BiLSTM(基于PyTorch)解决一个实际问题,实现给定一个长句子预测下一个单词

    mathor
  • 12.Linux之输入子系统分析(详解)

    在此节之前,我们学的都是简单的字符驱动,涉及的内容有字符驱动的框架、自动创建设备节点、linux中断、poll机制、异步通知、同步互斥/非阻塞、定时器去抖动。 ...

    张诺谦
  • python3中input的问题

    在python3中只有input而没有像python2中分类为raw_input和input

    py3study
  • 利用国内开源镜像加速你的包安装

    由于许多包的存放服务器在国外,国内安装比较慢,因此本文总结了常见的包(例如Python包,Linux不同发行版的包)在国内的开源镜像,加速你的下载,提高安装体验...

    王云峰
  • why we need a undefined parameter in function signature

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    Jerry Wang
  • 房天下战略合作美摄sdk,为1.1亿客户提供“抖房”功能

    一直以来,房天下都定位为“技术驱动型”的互联网公司,其对于技术孜孜不倦的追求及技术创新的精准预判,使房天下一直能走在行业创新前沿。

    BestSDK
  • 广播的注册、发送和接收过程

    1)静态注册在应用安装时由PackageManagerService来完成注册过程

    用户3112896

扫码关注云+社区

领取腾讯云代金券