记录编号 |
354867 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2011]统计单词数 |
最终得分 |
100 |
用户昵称 |
zeppoe |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.199 s |
提交时间 |
2016-11-23 13:47:42 |
内存使用 |
0.28 MiB |
显示代码纯文本
/*
C++:
<string>
string str;
1. 字符串长度
len = str.length();
len = str.size();
2. 字符串比较
可以直接比较
也可以:
str1.compare(str2);
str1.compare(pos1,len1,str2,pos2,len2); 值为负,0 ,正。
nops 长度到完。
3. 附加
str1 += str2;
或
str1.append(str2);
str1.append(str2.pos2,len2);
4. 字符串提取
str2 = str1.substr();
str2 = str1.substr(pos1);
str2 = str1.substr(pos1,len1);
5. 字符串搜索
where = str1.find(str2);
where = str1.find(str2,pos1); pos1是从str1的第几位开始。
where = str1.rfind(str2); 从后往前搜。
6. 插入字符串
不是赋值语句。
str1.insert(pos1,str2);
str1.insert(pos1,str2,pos2,len2);
str1.insert(pos1,numchar,char); numchar是插入次数,char是要插入的字符。
7. 替换字符串
str1.replace(pos1,str2);
str1.replace(pos1,str2,pos2,len2);
8. 删除字符串
str.erase(pos,len)
str.clear();
9. 交换字符串
swap(str1,str2);*/
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int main()
{
freopen("stat.in","r",stdin);
freopen("stat.out","w",stdout);
string a;
string b;
getline(cin,a);
getline(cin,b);
for (int i=0;i<a.length();i++)
{
a[i]=tolower(a[i]);
}
for (int i=0;i<b.length();i++)
{
b[i]=tolower(b[i]);
}
a=" "+a+" ";
b=" "+b+" ";
if(b.find(a)==string::npos)//find方法返回一个名为 string::npos 的特殊值,说明查找没有匹配。.
{
cout<<-1<<"\n";
}
else{
int w1=b.find(a);//储存第一次出现的位置
int w2=b.find(a),s=0;
while (w2!=string::npos)//!=就是<>
{
s++;
w2=b.find(a,w2+1);//从w2+1位置开始往后找
}
cout<<s<<" "<<w1<<"\n";
}
return 0;
}