刚入洛谷萌新妹子

不太懂洛谷什么的具体情况

代码不好还请dalao见谅

Thanks♪(・ω・)ノ

嗯 就这样

另外修正了一些注释麻烦管理重审qwq


#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>    //用到的库
using namespace std;
const int N=1000001;
char str[N],str1[11];    //题目要求范围哈
int main()
{
    int pos=0;    //等会进行扫描用
    cin.getline(str,N);    //因为可能有空格所以不能scanf
    for (int j=0;str[j];j++)
        if(str[j]>='a' && str[j]<='z')
            str[j]=str[j]-'a'+'A';    //统一弄成大写处理 
    cin.getline(str1,11);
    for (int j=0;str[j];j++)
        if(str[j]>='a' && str[j]<='z')
            str[j]=str[j]-'a'+'A';    //同理大写走起
    int len=strlen(str);
    int clen=strlen(str1);    
    int count=0;   //计数
    int first;    //第一次出现
    int begin,end;    //扫描单词的开头结尾
    while(pos<len)
    {
        if(str[pos]!=' ' && str[pos-1]==' ' && pos>0 || str[pos]!=' ' && pos==0)
            begin=pos;    
        if(str[pos]!=' ' && str[pos+1]==' ' && pos<len-1 || str[pos]!=' ' &&pos==len-1)
            end=pos;    //可以自己想下这句话意思
        if(end-begin+1==clen)    //注意'end-begin+1'
        {
            int k=0;
            bool flag=true;
            for (int j=begin;j<=end;j++)
            {
                if(str[j]!=str1[k])
                {
                    flag=false;
                    break;
                }
                k++;
            }    //开始扫描
            if(flag)
            {
                if(count==0)
                first=begin;
                count++;
            }   
            end=begin-1;    //思考:为什么减一
        }
        pos++;
    }
    if (count)
    printf("%d %d\n",count,first);
    else
    printf("-1\n");
    return 0;

}

减一是为了保证全部搜完

最后祝大家顺利AC