1 solutions

  • 1
    @ 2024-7-9 20:01:56
    #include<bits/stdc++.h>
    using namespace std;
    string a,s,x="";
    string ss[400016]={};
    int q=-1;
    int sum=0,ans=0;
    int si[400016]={};
    bool f=0;
    string turn(string xx){
    	for(int i=0;i<xx.size();i++) if('A'<=xx[i]&&xx[i]<='Z') xx[i]+=' ';
    	return xx; 
    }//这个函数把单词统一到小写
    int main(){
    	getline(cin,a);
    	getline(cin,s);
    	s+=' ';
    	for(int i=0,j=0;i<s.size();i++){
    		if(s[i]==' '){
    			ss[++q]=x,x="",si[q]=j,j=i+1;
    		}else x+=s[i];
    	}
    	for(int i=0;i<=q;i++) if(turn(ss[i])==turn(a)){
    		//如果这俩单词统一大小写后一样 
    		sum++;
    		if(!f) f=1,ans=si[i];
    		//计数器++,若未记录位置则记录当前位置 
    	}
    	if(sum)cout<<sum<<' '<<ans;
    	//若计数器仍为0,代表找不到这个单词 
    	else cout<<-1;
    	return 0;
    }
    

    找bug找了一个多月了

    最后发现没审题

    最后感谢C23liupeilin

    • 1

    Information

    ID
    885
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    (None)
    # Submissions
    14
    Accepted
    2
    Uploaded By