题解:P11751 [COCI 2024/2025 #5] 呜哇 / Wow

· · 题解

洛谷 P11751

题目大意:

给定两个字母加密方式,输出解密后的字符串。

解题思路:

按照题目模拟即可。注意,只有连续且完整的加密串有效,所以,我们手动把开头与结尾的加密串加上一个点,放便后面的判断。然后,我们只需要遍历一遍字符串,按照 vw 的判断方法对往后连续 4 个和 8 个字符进行判断,看这些字符满足哪个字母的判断条件,就输出那个字母。

AC 代码:

#include<bits/stdc++.h>
using namespace std;
int n;
string s, c;
int main() {
    cin >> n;
    cin >> s >> c;
    s = "." + s + ".";

    for (int i = 0; i < n; i++) {
        if (s[i] == '.' && s[i + 1] == '\\' && s[i + 2] == '.' && s[i + 3] == '.' && s[i + 4] == '/' && s[i + 5] == '.') {
            cout << 'v';
        } else if (s[i] == '.' && s[i + 1] == '\\' && s[i + 2] == '.' && s[i + 3] == '.' && s[i + 4] == '/' && s[i + 5] == '\\' && s[i + 6] == '.' && s[i + 7] == '.' && s[i + 8] == '/' && s[i + 9] == '.') {
            cout << 'w';
        }
    }

    return 0;
}