鹦鹉学舌一开始从简单开始,

鹦鹉学舌
描述

小明养了一直鹦鹉,平时喜欢训练鹦鹉说话,一开始从简单的单词开始,每个单词小明都会教很多遍,所以鹦鹉也会重复很多遍,由于鹦鹉还小,没有数字的概念,会不停的重复,一天小明想知道自己的鹦鹉是否一直在重复的说自己教它的单词,于是把鹦鹉说的单词录了下来,并给出小明教的单词,由于鹦鹉一直在重复,所以句子可能会很长,小明请你帮助他判断一下,如果一直在重复一个单词输出YES,否则输出NO

day13-01.zip

输入
第一行一个整数T(T<=100),表示数据组数

其后T行,每行两个字符串,用空格隔开,第一个字符串a表示鹦鹉说的句子,第二个字符串b表示小明教的单词

输出
T行,根据题目要求输出YES或NO

输入样例 1

1

输出样例 1

YES
输入样例
输出样例 2

NO
提示

a的长度小于105,b的长度小于

#include <iostream>
#include <string>
using namespace std;
string method(string sentence, string word) {
    int len = sentence.length();
    int wordLen = word.length();
    if (len < wordLen) {
        return "NO";
    }
    for (int i = 0; i <= len - wordLen; i++) {
        if (sentence.substr(i, wordLen) == word) {
            return "YES";
        }
    }
    return "NO";
}

int main() {
    int T;
    cin >> T;
    for (int i = 0; i < T; i++) {
        string sentence, word;
        cin >> sentence >> word;
        cout << method(sentence, word) << endl;
    }
    return 0;
}

【以下回答由 GPT 生成】

解决方案:

首先读取输入的数据组数 T,然后对于每一组数据,读取鹦鹉的句子 a 和小明教的单词 b,判断鹦鹉说的句子是否是一个单词的重复。如果是,则输出YES,否则输出NO。

具体步骤:

  1. 读取输入的数据组数 T。
  2. 循环 T 次,对于每一组数据执行以下步骤:
  3. 读取鹦鹉的句子 a 和小明教的单词 b。
  4. 判断鹦鹉的句子 a 是否是一个单词的重复:
    • 将鹦鹉的句子 a 拆分成单词列表,使用空格作为分隔符。
    • 判断单词列表中的第一个单词是否与小明教的单词 b 相等。
    • 如果是,将单词列表去重,如果去重后的长度为1,则输出YES,否则输出NO。
    • 如果不是,输出NO。
  5. 结束。

下面是具体的代码实现(使用Python):

T = int(input())  # 读取数据组数 T

for _ in range(T):
    a, b = input().split()  # 读取鹦鹉的句子和小明教的单词
    words = a.split()  # 拆分句子成单词列表
    if words[0] == b:  # 判断第一个单词是否与小明教的单词相等
        unique_words = list(set(words))  # 去重后的单词列表
        if len(unique_words) == 1:  # 判断去重后的单词列表长度是否为1
            print("YES")
        else:
            print("NO")
    else:
        print("NO")

通过以上代码,可以解决该问题。如果输入的数据符合要求,代码会输出相应的结果。如果输入的数据不符合要求,比如数据组数 T 超过100,或者单词长度超过105,则会导致程序运行出错。



【相关推荐】


  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7662275
  • 除此之外, 这篇博客: 2018年第九届蓝桥杯【C++省赛B组】【第八题:日志统计】中的 小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id 表示在ts时刻编号id的帖子收到一个"赞"。 现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。 具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K个赞,该帖就曾是"热帖"。 给定日志,请你帮助小明统计出所有曾是"热帖"的帖子编号。 部分也许能够解决你的问题。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632