30分WA求助
查看原帖
30分WA求助
549911
林志艺楼主2022/6/27 18:24

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

三号现在能过了,但是感觉哪里不对。

2022/6/27 18:24
加载中...