zoukankan      html  css  js  c++  java
  • 算法题:福尔摩斯的约会

    题目描写叙述

    大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!

    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

    #include <iostream>
    using namespace std;
    int main()
    {
        const char Week[][4] = {"MON","TUE","WED","THU","FRI","SAT","SUN"};
        char inputStr1[100];
        char inputStr2[100];
        char inputStr3[100];
        char inputStr4[100];
    
        cin >> inputStr1;
        cin >> inputStr2;
        cin >> inputStr3;
        cin >> inputStr4;
    
        char *p1 = inputStr1;
        char *p2 = inputStr2;
        int j = 0;
        char saCh[2];
        int k = 0;
        while (k != 2)
        {
            if (k == 1 && *p1==*p2)
            {
                saCh[k++] = *p1;
            }
            if (k==0 && *p1>'9' && *p1 == *p2)
            {
                saCh[k++] = *p1;
            }
            p1++;
            p2++;
        }
        int count = 0;
        p1 = inputStr3;
        p2 = inputStr4;
    
        while (1)
        {
            if (isalpha(*p1) && *p1 == *p2)
            {
                break;
            }
            count++;
            p1++;
            p2++;
        }
        int i = 0;
        while ("ABCDEFG"[i] != saCh[0])i++;
        cout << Week[i]<< " ";
    
        while ("0123456789ABCDEFGHIJKLMNO"[j] != saCh[1])j++;
    
            if (j < 10)
            {
                cout << "0" << j << ":";
            }
            else
            {
                cout << j << ":";
            }
        if (count < 10)
            cout << "0" << count << endl;
        else cout << count << endl;
    
        return 0;
    }
  • 相关阅读:
    网上找的,C# 小票打印机 直接打印,备用
    SlickUpload 破解方法
    全文索引的一点个人总结
    在ASP.NET中利用SlickUpload来上传大文件
    再谈iframe自适应高度 By 大米
    发送邮件到 163、Gmail、QQ 等邮箱时,全丢垃圾箱中怎么办?
    iis下Awstats的安装使用说明
    AutoCompleteExtender控件出现undefined和null现象
    IT业史上最棒的图片之一
    EnableViewState="false",取dropdownlist的值
  • 原文地址:https://www.cnblogs.com/llguanli/p/8449386.html
Copyright © 2011-2022 走看看