RT,只有30分,代码相比30分的改了一些,但是总感觉哪里不对。
#include <iostream>
#include <string>
using namespace std;
string s,p,ans[500005];
int ss,e,g,l,cnt,wz,ps;
bool x;
char ch;
int main()
{
cin >> p;
ch=getchar();
getline(cin,s);
ss=s.size();
ps=p.size();
for(int i=0;i<ss;i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
s[i]+='a'-'A';
}
}
for(int i=0;i<ps;i++)
{
if(p[i]>='A'&&p[i]<='Z')
{
p[i]+='a'-'A';
}
}
for(long long i=0;i<ss;i++)
{
if(s[i]==' ')
{
ans[g]=s.substr(l,e);
g++;
l=i+1;
e=0;
continue;
}
e++;
if(ss-i==1)
{
ans[g]=s.substr(l,e);
}
}
for(int i=0;i<=g;i++)
{
if(ans[i]==" ")
{
continue;
}
if(x==0&&i>=1)
{
wz+=ans[i-1].size()+1;
}
if(ans[i]==p)
{
x=1;
cnt++;
}
}
if(cnt==0)
{
cout << -1;
return 0;
}
cout << cnt << " " << wz;
return 0;
}
三号输入:
u
tIXHUguyz PZYAJL BIv NAPoemaJ aTF LOvhV m s LSa n xDn mQnO T ettIq T AL fG B Xme t fct U tQ d
三号输出:
1 92
三号现在能过了,但是感觉哪里不对。