zoukankan      html  css  js  c++  java
  • 1014 福尔摩斯的约会

    大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 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

    出题人讲人话不行吗?有大小写a-g和A-G鬼知道你说用哪个代表星期几。

    #include <iostream>
    #include<string>
    
    using namespace std;
    int main()
    {
        string n, m, c, d;
        string day[7] = { "MON","TUE","WED","THU","FRI","SAT","SUN" };
        cin >> n >> m >> c >> d;
        int i = 0;
        for (; i < min(n.size(), m.size()); i++) 
            if (n[i] == m[i] && ((n[i] <= 'G' && n[i] >= 'A') )) //找到日期
                {
                    cout << day[n[i] - 'A'] << " ";
                    break;
                }
                
            
        
        for (i = i + 1; i < min(n.size(), m.size()); i++) 
        {
            if (n[i] == m[i] && ((n[i] <= 'N' && n[i] >= 'A') || (n[i] <= '9' && n[i] >= '0'))) //柳姐姐这里用cctype里的isdigit()判断是否是数字
            {
                if (n[i] <= 'N' && n[i] >= 'A') {
                    cout << (n[i] - 'A' + 10) << ":";
                    break;
                }
    
                else
                {
                    cout <<"0"<< n[i] - '0' << ":";
                    break;
                }
            }
        }
    
        for (i = 0; i < min(c.size(), d.size()); i++) 
            if (c[i] == d[i] && ((c[i] <= 'Z' && d[i] >= 'A') || (c[i] <= 'z' && d[i] >= 'a'))) {
                printf("%02d", i);//输出要用%02d;
                break;
            }
    
    }

    柳姐姐就是厉害:

    #include <iostream>
    #include <cctype>
    using namespace std;
    int main() {
        string a, b, c, d;
        cin >> a >> b >> c >> d;
        char t[2];
        int pos, i = 0, j = 0;
        while(i < a.length() && i < b.length()) {
            if (a[i] == b[i] && (a[i] >= 'A' && a[i] <= 'G')) {
                t[0] = a[i];
                break;
            }
            i++;
        }
        i = i + 1;
        while (i < a.length() && i < b.length()) {
            if (a[i] == b[i] && ((a[i] >= 'A' && a[i] <= 'N') || isdigit(a[i]))) {
                t[1] = a[i];
                break;
            }
            i++;
        }
        while (j < c.length() && j < d.length()) {
            if (c[j] == d[j] && isalpha(c[j])) {
                pos = j;
                break;
            }
            j++;
        }
        string week[7] = {"MON ", "TUE ", "WED ", "THU ", "FRI ", "SAT ", "SUN "};
        int m = isdigit(t[1]) ? t[1] - '0' : t[1] - 'A' + 10;
        cout << week[t[0]-'A'];
        printf("%02d:%02d", m, pos);
        return 0;
    }
  • 相关阅读:
    LightOJ 1132 Summing up Powers(矩阵快速幂)
    hdu 3804 Query on a tree (树链剖分+线段树)
    LightOJ 1052 String Growth && uva 12045 Fun with Strings (矩阵快速幂)
    uva 12304 2D Geometry 110 in 1! (Geometry)
    LA 3263 That Nice Euler Circuit (2D Geometry)
    2013 SCAUCPC Summary
    poj 3321 Apple Tree (Binary Index Tree)
    uva 11796 Dog Distance (几何+模拟)
    uva 11178 Morley's Theorem (2D Geometry)
    动手动脑
  • 原文地址:https://www.cnblogs.com/kalicener/p/12450890.html
Copyright © 2011-2022 走看看