原题:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1075
时间:2014.1.19
类型:字符串处理
源码:
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main()
{
string a,b;
getline(cin,a);
getline(cin,b);
int first=-1,cnt=0,j;
bool found=true;
for(int i=0;i<a.size();i++)
{ if(isspace(a[i])!=true) { a[i]=tolower(a[i]); } }
for(int i=0;i<b.size();i++)
{ if(isspace(b[i])!=true) { b[i]=tolower(b[i]); } }
for(int i=0;i<b.size();i++)
{
if(b[i]==a[0]&&(i==0||b[i-1]==' '))
{
int k=0;
for(j=i;b[j]!=' '&&j<b.size();j++)
{
if(b[j]!=a[k]) { found=false; break; }
k++;
}
if(found&&k==a.size()) { cnt++; if(first==-1) {first=i;} }
else found=true;
}
}
if(cnt!=0) { cout<<cnt<<" "<<first;}
else { cout<<"-1"; }
system("pause");
return 0;
}
最终状态:AC(在598460606的帮助下)
总结一下:
1.水,但是WA了好几次
2.要注意越界,尤其是字符串开头和结尾
3.之前不小心把==打成!=逗比地检查了1/2小时,气煞......