麻烦大佬看一下,没过,但没看出问题在哪

P1308 [NOIP2011 普及组] 统计单词数

s2只有一行啊qwq@[lanqinglian](/space/show?uid=145131)
by 良辰、 @ 2019-02-17 15:47:14


@[良辰、](/space/show?uid=50604) 不是输入两次,两个循环是因为第一个找到后标记过了,如果不退出这个循环,标记会被覆盖
by lanqinglian @ 2019-02-17 15:50:37


但输入的数据s2只有一行qwq,你只能让输入流执行一次,要不肯定会锅哇唔qaq
by 良辰、 @ 2019-02-17 15:56:26


@[良辰、](/space/show?uid=50604) cin不读空格,遇到空格他会认为以输入完一个数据
by lanqinglian @ 2019-02-17 15:58:54


我有点懵逼qwq(我太弱了
by 良辰、 @ 2019-02-17 16:01:40


```cpp #include<bits/stdc++.h> using namespace std; int f, sum = 0; string s1, s2; int main(){ getline(cin, s1); getline(cin, s2); //转换大小写 transform(s1.begin(), s1.end(), s1.begin(), ::tolower); transform(s2.begin(), s2.end(), s2.begin(), ::tolower); //便于 find() 匹配 s1 = ' ' + s1 + ' '; s2 = ' ' + s2 + ' '; //使用 find() 进行查找,返回位置或 string::npos if (s2.find(s1) != string::npos) { f = s2.find(s1); int k = s2.find(s1); while (k != string::npos) { sum++; k = s2.find(s1, k+1); } cout<<sum<<" "<<f; } else { cout << -1; return 0; } return 0; } ``` qwq我打的你看看惹 find()函数是STL里的 你可以查查看
by 良辰、 @ 2019-02-17 16:04:08


KMP也可以了解一下qaq
by 良辰、 @ 2019-02-17 16:16:24


@[良辰、](/space/show?uid=50604) 好的,Thanks♪(・ω・)ノ
by lanqinglian @ 2019-02-17 18:14:09


上一页 |