当前位置:网站首页>P1308 [noip2011 popularity group] count the number of words
P1308 [noip2011 popularity group] count the number of words
2022-07-07 23:40:00 【Yuesi】
P1308 -NOIP2011 Popularization group - Count the number of words
See blog links
General text editors have the function of finding words , This function can quickly locate the position of specific words in the article , Some can also count the number of times a specific word appears in the article .
Now? , Please program to realize this function , The specific requirement is : Given a word , Please output the number of times it appears in a given article and the location of its first appearance . Be careful : When matching words , Case insensitive , But it requires a perfect match , That is to say, a given word must be exactly the same as an independent word in the article regardless of case ( See example 1 ), If a given word is only a part of a word in the article, it is not a match ( See example 2 ).
Input format
common 2 That's ok .
The first 1 Acts as a string , There are only letters in it , For a given word ;
The first 2 Acts as a string , It can only contain letters and spaces , Represents a given article .
Output format
a line , If a given word is found in the text, output two integers , Two integers are separated by a space , They are the number of times the words appear in the article and the first place they appear ( That is, when it first appears in the article , The position of the first letter of a word in the article , Location slave 00 Start ); If the word doesn't appear in the text , Then output an integer directly -1−1.
I/o sample
Input #1
To
to be or not to be is a question
Output #1
2 0
Input #2
to
Did the Ottoman Empire lose its power at that time
Output #2
-1
explain / Tips
Data range
1≤ Word length ≤10.
1≤ The length of the article ≤1,000,000.
noip2011 Popularization Group No 2 topic
It's easy to get wrong :
This question requires you to find words instead of the same part of other sentences or words
( use find ( ) Direct search may lead to this error )
cin>>a Then consider the next getline ( cin,b) Will you read the previous carriage return
The code is as follows
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
int l,l1;// The corresponding length of the two
cin>>a;
getchar();// Prevent subsequent carriage returns from being read into the string b
getline(cin,b);
l=a.length();
l1=b.length();
int ge=0;
for(int i=0;i<l;i++){
a[i]=tolower(a[i]);
}
for(int i=0;i<l1;i++){
b[i]=tolower(b[i]);
}
a=' '+a+' ';// Find as word
b=' '+b+' ';
if(b.find(a)==-1){
// If you can't find it
printf("-1\n");
}else{
int n=b.find(a);
int m=n;
while(m!=-1){
ge++;
m=b.find(a,m+1);
}
printf("%d %d\n",ge,n);// Output the number of occurrences and the location of the first occurrence
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
【路径规划】使用垂距限值法与贝塞尔优化A星路径
Mobile heterogeneous computing technology - GPU OpenCL programming (basic)
B_QuRT_User_Guide(36)
Installing gradle
B_ QuRT_ User_ Guide(39)
UE4_ Ue5 panoramic camera
Progress broadcast | all 29 shield machines of Guangzhou Metro Line 7 have been launched
UE4_ Use of ue5 blueprint command node (turn on / off screen response log publish full screen display)
SAP HR labor contract information 0016
Svn relocation
B_ QuRT_ User_ Guide(40)
Take you hand in hand to build Eureka server with idea
2022 Season 6 perfect children's model Shaanxi finals came to a successful conclusion
Benchmarking Detection Transfer Learning with Vision Transformers(2021-11)
Extended tree (I) - graphic analysis and C language implementation
Jisuan Ke - t3104
P2141 [noip2014 popularization group] abacus mental arithmetic test
507 field D - extraterrestrial relics
Lm12 rolling heikin Ashi double K-line filter
Possible SQL for Oracle table lookup information