题解 P1308 【统计单词数】

SocietyNiu

2018-02-06 18:34:22

Solution

代码很简单 基本上就是两层循环 第一层是决定位置 第二层判断每个字符是否对应 ``` #include<iostream> #include<cstdio> #include<string> #include<cstring> using namespace std; int main(){ string A; string B; getline(cin,A); getline(cin,B); //全部更换为大写 for (int j=0;A[j];j++) if(A[j]>='a' && A[j]<='z') A[j]=A[j]-'a'+'A'; for (int j=0;B[j];j++) if(B[j]>='a' && B[j]<='z') B[j]=B[j]-'a'+'A'; A=' '+A+' ';//必须加两个空格 B=' '+B+' '; int cot=0; int kg=0; int wz; for(int i=0;i<=B.length()-A.length();i++){ int num=0; int k=0; for(int j=i;j<i+A.length();j++) { if(B[j]==A[k++]) num++; } if(num==A.length()) { cot++; if(kg==0) { wz=i; kg=1; }} } if(cot==0) cout<<"-1"; else cout<<cot<<" "<<wz; } ```