20分求助!QAQ
查看原帖
20分求助!QAQ
449465
不是埃德楼主2023/10/14 17:27
#include <bits/stdc++.h>
#define mian main

using namespace std;

bool equal(char *a, char *b, int len)
{
    // 令a为目标单词,len为目标单词长度
    if (strlen(b) != len)
        return false;
    for (int i = 0; i < len; ++i)
        if (!(a[i] == b[i] || a[i] - 32 == b[i] || b[i] - 32 == a[i]))
            return false;
    return true;
}

int mian()
{
    char word[114];     // 目标单词
    char p[114514];     // 大于文章长度,考虑到可能只有一个单词
    int first = 114514; // 目标单词第一次出现位置
    int len;            // 目标单词长度
    int i = 0, x = 0;   // 计数和目标单词出现次数
    cin >> word;
    len = strlen(word);

    // 处理开头的空格
    char a;
    a = getchar();
    while (a == '\n' || a == '\r' || a == ' ')
        a = getchar();
    scanf("%s", p + 1);
    p[0] = a;
    if (equal(word, p, len))
    {
        ++x;
        if (i < first)
            first = i;
    }
    ++i;
    //
    while (scanf("%s", p) != EOF)
    {
        if (equal(word, p, len))
        {
            ++x;
            if (i < first)
                first = i;
        }
        ++i;
    }
    if (x == 0)
        cout << -1;
    else
        cout << x << ' ' << first;
    return 0;
}

样例没问题,但是只过了第二和第四个点

2023/10/14 17:27
加载中...