2987 문제 B P2 단어 수 통계
2654 단어 경험 총화P2단어 수 를 집계 하 다codeupC
시간 제한: 1 Sec 메모리 제한: 128 MB 제출: 62 해결: 15
제목 설명
단어 수 통계 (stat. cpp / c / pas) 일반적인 텍스트 편집기 에는 단 어 를 찾 는 기능 이 있 습 니 다. 이 기능 은 특정한 단어 가 글 에 있 는 위 치 를 빠르게 찾 을 수 있 고 특정한 단어 가 글 에 있 는 횟수 를 통계 할 수 있 습 니 다.
현재, 이 기능 을 실현 하기 위해 프로 그래 밍 을 하 십시오. 구체 적 인 요 구 는 단 어 를 지정 하 는 것 입 니 다. 주어진 글 에 나타 난 횟수 와 처음 나타 난 위 치 를 출력 하 십시오.메모: 단어 와 일치 할 때 대소 문 자 를 구분 하지 않 지만 완전히 일치 해 야 합 니 다. 즉, 단 어 는 글 의 특정한 독립 적 인 잔 차 와 대소 문 자 를 구분 하지 않 은 상태 에서 똑 같 아야 합 니 다 (사례 1 참조). 주어진 단어 가 글 의 한 단어의 일부분 일 경우 일치 하지 않 습 니 다 (사례 2 참조).
입력
파일 을 모두 두 줄 로 입력 하 십시오.
첫 번 째 행 위 는 알파벳 만 포함 하고 주어진 단 어 를 표시 하 는 문자열 입 니 다.
두 번 째 행동 문자열 은 알파벳 과 빈 칸 만 포함 하여 주어진 글 을 표시 할 수 있 습 니 다.
출력
한 줄 만 있 습 니 다. 글 에서 주어진 단 어 를 찾 으 면 두 정 수 를 출력 합 니 다. 두 정수 사 이 는 하나의 빈 칸 으로 구분 합 니 다. 각각 단어 가 글 에 나타 난 횟수 와 처음 나타 난 위치 (즉, 글 에서 처음 나 타 났 을 때 단어 이니셜 이 글 에 있 는 위치, 위 치 는 0 부터) 입 니 다.단어 가 글 에 나타 나 지 않 으 면 정수 - 1 을 직접 출력 합 니 다.
샘플 입력
1:
To
to be or not to be is a question
2:
to
Did the Ottoman Empire lose its power at that time
샘플 출력
1:
2 0
2:
-1
제시 하 다.
1 < = 단어 길이 < = 10.1 < = 문장 길이 < = 10, 000, 000.
경험 총화
여기 서 비교 하기 전에 문자열 을 모두 소문 자 (또는 대문자) 로 바 꿔 야 합 니 다. 일치 하 는 데 성공 할 때 텍스트 문자열 에 일치 하 는 패턴 문자열 의 앞 뒤 가 빈 칸 인지 확인 해 야 합 니 다. 빈 칸 이 어야 독립 된 단어 임 을 설명 할 수 있 습 니 다. 그렇지 않 으 면 제목 요구 에 부합 되 지 않 고 일치 하 는 횟수 가 증가 하지 않 습 니 다.
정확 한 코드
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn=300;
int nextval[maxn],pos;
bool flag=false;
void getNextval(string str)
{
int j=-1;
nextval[0]=-1;
for(int i=1;i='A'&&str[i]<='Z')
str[i]+=32;
}
}
int KMP(string str1,string str2)
{
int ans=0,j=-1;
int n=str1.length(),m=str2.length();
for(int i=0;i=0&&i=0&&i==n-1&&str1[i-m]==' '||i-m+1==0&&i==n-1)
{
ans++;
if(flag==false)
{
pos=i-m+1;
flag=true;
}
}
j=nextval[j];
}
}
return ans;
}
int main()
{
int n,ans;
string str1,str2;
while(getline(cin,str1))
{
toLower(str1);
getNextval(str1);
ans=0;
getline(cin,str2);
toLower(str2);
flag=false;
ans+=KMP(str2,str1);
if(ans==0)
printf("-1
",ans);
else
printf("%d %d
",ans,pos);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
2453 문제 D 링크 찾기 (선형 표)문제 D: 링크 찾기 (선형 표) 시간 제한: 1 Sec 메모리 제한: 128 MB 제출: 39 해결: 35 제목 설명 선형 표 (a1, a2, a3,..., an) 에서 요소 가 점점 질서 있 게 증가 하고 순서대...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.