@[Baoqiancheng11](/user/535149)
哥们,我80分的RE,你看看有没有帮助(((
~~改到100记得跟我说一声,我也逝世~~
~~说白了,蹭楼~~
```cpp
#include<bits/stdc++.h>//万能头YYDS
using namespace std;
int minn=1e9;//第一次出现
int cnt;//次数
string s1;//目标str
string s2;//文章
string b;//当前单词
void xx()//b转小写
{
for(int i=0;i<b.length();i++)
if(b[i]>='A' && b[i]<='Z')
b[i]=b[i]-'A'+'a';
}
int i;
int main(){
cin>>s1;
for(int j=0;j<s1.length();j++)//s1转小写
if(s1[j]>='A' && s1[j]<='Z')
s1[j]=s1[j]-'A'+'a';
getchar();//吞回车
getline(cin,s2);//全行吞
for(;i<s2.length();)
{
b="";//初始化单词
int j=i;//单词首地址
while(s2[i]!=' ')//拼单词
{
b+=s2[i];
i++;
}
i++;//过空格
xx();//转小写
if(b==s1)//判断
{
cnt++;
minn=min(minn,j);
}
}
//输出
if(cnt)cout<<cnt<<" "<<minn;
else cout<<-1;
return 0;
}
```
各位楼下的好人们,也帮忙看看改改罢……
by Max6700 @ 2023-05-24 20:18:07
对了,第一次出现的位置好像是0哈
by Max6700 @ 2023-05-24 20:28:53
```cpp
#include<bits/stdc++.h>//万能头YYDS
using namespace std;
int minn=1e9;//第一次出现
int cnt;//次数
string s1;//目标str
string s2;//文章
string b;//当前单词
void xx()//b转小写
{
for(int i=0;i<b.length();i++)
if(b[i]>='A' && b[i]<='Z')
b[i]=b[i]-'A'+'a';
}
int i;
int main(){
cin>>s1;
for(int j=0;j<s1.length();j++)//s1转小写
if(s1[j]>='A' && s1[j]<='Z')
s1[j]=s1[j]-'A'+'a';
getchar();//吞回车
getline(cin,s2);//全行吞
for(;i<s2.length()-1;)
{
b="";//初始化单词
int j=i;//单词首地址
while(s2[i]!=' ')//拼单词
{
b+=s2[i];
i++;
}
i++;//过空格
xx();//转小写
if(b==s1)//判断
{
cnt++;
minn=min(minn,j);
}
}
//输出
if(cnt)cout<<cnt<<" "<<minn;
else cout<<-1;
return 0;
}
```
by Max6700 @ 2023-05-26 20:48:10
```cpp
#include<bits/stdc++.h>
using namespace std;
int minn=1e9;
int cnt;
string s1;
string s2;
string b;
void xx()
{
for(int i=0;i<b.length();i++)
if(b[i]>='A' && b[i]<='Z')
b[i]=b[i]-'A'+'a';
}
int i;
int main(){
cin>>s1;
for(int j=0;j<s1.length();j++)
if(s1[j]>='A' && s1[j]<='Z')
s1[j]=s1[j]-'A'+'a';
getchar();
getline(cin,s2);
if(s2[0]==' ')//开头空格过滤,此处修改
while(s2[i]==' ')
i++;
for(;i<s2.length()-1;)//此处修改
{
b="";
int j=i;
while(s2[i]!=' '&&i<s2.length()-1)//此处修改
{
b+=s2[i];
i++;
}
i++;
xx();
if(b==s1)
{
cnt++;
minn=min(minn,j);
}
}
if(cnt)cout<<cnt<<" "<<minn;
else cout<<-1;
return 0;
}
```
过了
by Baoqiancheng11 @ 2023-05-26 21:04:21
@[Max6700](/user/935012)
by Baoqiancheng11 @ 2023-05-26 21:04:43
@[Baoqiancheng11](/user/535149) !!!!!!!!!谢谢1!!thx
·
·
·
~~话说是谁帮谁a?~~
by Max6700 @ 2023-05-26 21:07:23
~~a~~
by Baoqiancheng11 @ 2023-05-26 21:08:36
咳咳……接下来我发现了自己的代码中的一些问题,修改后。
```cpp
#include<bits/stdc++.h>
using namespace std;
string a,b,a2;
int cnt,minn=214748364;//第一处
int main(){
cin>>a;
for(int i = 0 ; i < a.length() ; ++i)
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+('a'-'A');
int i = 1,n=a.length();
while(cin>>b){
if(n==b.length()){
for(int j = 0 ; j < n ; ++j)//第二处,修改了循环变量
if(b[j]>='A'&&b[j]<='Z')//第二处,修改了循环变量
b[j]=b[j]+('a'-'A');//第二处,修改了循环变量
if(a==b){
++cnt;
minn=min(minn,i);//第三处
}
}
++i;
}
if(cnt==0)
cout<<-1<<endl;
else
cout<<cnt<<" "<<minn<<endl;
return 0;
}
```
[结果仍然不好](https://www.luogu.com.cn/record/111299856)
by Baoqiancheng11 @ 2023-05-26 21:11:58
```cpp
#include<bits/stdc++.h>
using namespace std;
string a,b,a2;
int cnt,minn=214748364;//第一处
int main(){
cin>>a;
for(int j = 0 ; j < a.length() ; ++j)//这里也改了下
if(a[j]>='A'&&a[j]<='Z')
a[j]=a[j]+('a'-'A');
int i = 1,n=a.length();
while(cin>>b){
if(n==b.length()){
for(int j = 0 ; j < n ; ++j)//第二处,修改了循环变量
if(b[j]>='A'&&b[j]<='Z')//第二处,修改了循环变量
b[j]=b[j]+('a'-'A');//第二处,修改了循环变量
if(a==b){
++cnt;
minn=min(minn,i);//第三处
}
}
++i;
}
if(cnt==0)
cout<<-1<<endl;
else
cout<<cnt<<" "<<minn<<endl;
return 0;
}
```
[还是不行](https://www.luogu.com.cn/record/111300191)
by Baoqiancheng11 @ 2023-05-26 21:14:44