2 solutions
-
0
#include #include
using namespace std;
string s,a; int maxn = 0; int pos=1e9,num=0;
string tolow(string s){ for (int i=0;i<s.length();i++) if (s[i]>='A' && s[i]<='Z') s[i] = s[i] -'A' + 'a'; return s; }
int main(){ getline(cin,a); getline(cin,s); a = tolow(a); s = tolow(s); s = s + ' '; //避免最后一个单词找不到 (没有结尾空格时) //找到 s中是否存在a单词 输出存在的个数和第一个起始位置
string t = ""; //t来描述当前的单词 for (int i=0;i<s.length();i++){ if (s[i]>='a' && s[i]<='z') t = t + s[i]; //当前单词长度增加 else { //遇到空格 说明当前单词已经算完了 if (t == a) { num++; //多找到了一个匹配结果 pos = min(pos, i - (int)t.length() ); } t = ""; } } if (num==0) cout << -1 << endl; else cout << num << " " << pos << endl;
}
-
-1
#include #include
using namespace std;
string s,a; int maxn = 0; int pos=1e9,num=0;
string tolow(string s){ for (int i=0;i<s.length();i++) if (s[i]>='A' && s[i]<='Z') s[i] = s[i] -'A' + 'a'; return s; }
int main(){ getline(cin,a); getline(cin,s); a = tolow(a); s = tolow(s); s = s + ' '; //避免最后一个单词找不到 (没有结尾空格时) //找到 s中是否存在a单词 输出存在的个数和第一个起始位置
string t = ""; //t来描述当前的单词 for (int i=0;i<s.length();i++){ if (s[i]>='a' && s[i]<='z') t = t + s[i]; //当前单词长度增加 else { //遇到空格 说明当前单词已经算完了 if (t == a) { num++; //多找到了一个匹配结果 pos = min(pos, i - (int)t.length() ); } t = ""; } } if (num==0) cout << -1 << endl; else cout << num << " " << pos << endl;
}
- 1
Information
- ID
- 306
- Time
- 1000ms
- Memory
- 125MiB
- Difficulty
- 2
- Tags
- # Submissions
- 45
- Accepted
- 35
- Uploaded By