PAT B Zhenti 1004ホームズデート

PAT B Zhenti 1004ホームズデート

タイトル説明

シャーロック・ホームズは、不思議なノートを受け取った: "我々はそれ3485djDkxh4hhGE 2984akDfkkkkggEdsb S&hgsfdkのD&Hyscvnm会います!"。同じ大文字の最初の二つの文字列(大文字と小文字を区別区別)の前に最初のものであるので、探偵はすぐに、ノート奇妙なちんぷんかんぷんが、実際の時間「夜02時04木曜日を」付き合っていることに気づい4文字「D」、代表木曜日;一つは9の数字0によって23:00に0:00になるように同じ文字第二の対が「E」であるが、それは、(アルファベットの最初の5つの文字、14時間の代表的な日でありますそして大文字)は、Nを表し、第4の位置(0から数えて)最初の4分の代表で文字「S」が現れるのと同じ文字列の最初の二つの背後。さて、文字列の2組を与えられた、助けてくださいホームズは、予定の時間をデコード。

入力形式

図4に示すように隙間なく、入力ライン4つの非空に与えられ、列60の長さを超えません。

出力フォーマット

フォーマットの行デートの時間での出力、「DAY HH:MM」「DAY」はMON =月曜日、火曜日のための火、水曜日のためWED、週の木曜の日という3週間の文字の略語である、
シリコン、金表現金曜日、日曜日土曜日、日曜のための土 話題の保証に各テストのためのユニークな解の存在を入力します。

サンプル入力

3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm

サンプル出力

THU 14:04

トピックのアイデア

タイトルは、最初の文字列と第2文字列同じ角度、同じ主題にいう
3番目の文字列と同一の文字の目標角度の第四の列と同じ。

#include<iostream>
#include<string>

using namespace std;
const int N = 70;
char s[4][N];
int main()
{
    for (int i = 0; i < 4; i++)
    {
        scanf("%s", s[i]);
    }
    int end = 0;
    char c = ';', c2 = '0';
    string str = "";

    for (int i = 0; i < 2 * N; i++)
    {
        if (*((*s) + i) >= 'A'&&*((*s) + i) <= 'Z'&& c == ';')
        {
            if (*((*s) + i) == *((*s) + i+N) )
            {
                c = *((*s) + i);
            }
        }
        else if (c != ';'&&*((*s) + i) == *((*s) + i + N)&&(*((*s) + i) >= 'A'&&*((*s) + i) <= 'Z'||*((*s) + i) >= '0'&&*((*s) + i) <= '9'))
        {
            c2 = *((*s) + i);
            break;
        }
    }
    switch (c - 'A' + 1)
    {
    case 1:printf("MON ");
        break;
    case 2:printf("TUE ");
        break;
    case 3:printf("WED ");
        break;
    case 4:printf("THU ");
        break;
    case 5:printf("FRI ");
        break;
    case 6:printf("SAT ");
        break;
    case 7:printf("SUN ");
        break;
    default:
        break;
    }
    if (c2 < 'A')
    {
        printf("0%c:", c2);
    }
    else
    {
        int ct = c2 - 'A' + 10;
        printf("%d:", ct);
    }
    str = "";
    for (int i = 2 * N; i < 4 * N; i++)
    {
        if (*((*s) + i) >= 'A'&&*((*s) + i) <= 'Z' || *((*s) + i) >= 'a'&&*((*s) + i) <= 'z')
        {
            if (*((*s) + i)== *((*s) + i+N))
            {
                c = *((*s) + i);
                end = i-2*N;
                break;
            }
            
        }
    }
    if (end > 9)
    {
        printf("%d", end);
    }
    else
    {
        printf("0%d", end);
    }
    return 0;
}

おすすめ

転載: www.cnblogs.com/fsh001/p/12199103.html