首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1014 福尔摩斯的约会 (20 分)

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

作者头像
可爱见见
发布2019-09-09 16:02:44
4660
发布2019-09-09 16:02:44
举报
文章被收录于专栏:卡尼慕卡尼慕

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;
    }
}

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档