C++ 判断字符串四元组是否为“浴眼盯真”

题目描述

给定四个用空格分隔的字符串 'a', 'b', 'c', 'd',保证其只包含小写英文字母,你需要判断 ('a', 'b', 'c', 'd') 是否是“浴眼盯真”的。

  • 'a', 'b' 的首字母均为 'y'。
  • 'c' 恰好等于 'ding'。
  • 'd' 恰好等于 'zhen'。

输入格式

本题有多组测试数据。

第一行输入一个整数 'T',代表测试数据组数。

接下来 'T' 行,每行输入四个用空格分隔的字符串 'a', 'b', 'c', 'd'。

输出格式

对于每组数据输出一行。

如果 ('a', 'b', 'c', 'd') 是“浴眼盯真”的,输出 'Yes',否则输出 'No'。

样例

样例输入 #1

5
y'i yan ding zhen
yu yan ding zhen
z'heng tai ding zhen
y'in yang guai qi
y'ou xiu su zhi

样例输出 #1

Yes
Yes
No
No
No

C++ 代码

#include <iostream>
#include <string>
using namespace std;

// 判断是否是浴眼盯真
bool isYuDing(string a, string b, string c, string d) {
    if (a[0] != 'y' || b[0] != 'y') {
        return false;
    }
    if (c != 'ding' || d != 'zhen') {
        return false;
    }
    return true;
}

int main() {
    int T;
    cin >> T;
    cin.ignore(); // 忽略换行符

    while (T--) {
        string a, b, c, d;
        getline(cin, a, ' '); // 读取a
        getline(cin, b, ' '); // 读取b
        getline(cin, c, ' '); // 读取c
        getline(cin, d); // 读取d

        if (isYuDing(a, b, c, d)) {
            cout << 'Yes' << endl;
        } else {
            cout << 'No' << endl;
        }
    }

    return 0;
}

代码解释

  1. isYuDing 函数用于判断一个字符串四元组是否为“浴眼盯真”。
  2. 函数首先判断 'a', 'b' 的首字母是否为 'y',如果不满足则返回 false。
  3. 接着判断 'c' 是否等于 'ding' 以及 'd' 是否等于 'zhen',如果不满足则返回 false。
  4. 如果所有条件都满足,则返回 true。
  5. main 函数读取输入数据并调用 isYuDing 函数进行判断,并将结果输出。

总结

本题的代码逻辑较为简单,只需要根据题目要求对字符串进行判断即可。需要注意的是,输入数据可能存在换行符,需要使用 cin.ignore() 忽略换行符,并使用 getline 函数读取字符串。


原文地址: https://www.cveoy.top/t/topic/pOn3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录