Description
给定两个字符串a、b,求b在a中出现的位置。
Input
第一行为一个字符串a,长度大于等于1小于等于100000。
第二行为一个字符串b,长度大于等于1小于等于1000。
第二行为一个字符串b,长度大于等于1小于等于1000。
Output
一个整数,b在a中出现的位置,若b不是a的字串,输出-1。
Sample Input
abababc ababc
Sample Output
3
#include <cstdio> #include <iostream> #include <string> #include <cstring> #include <cmath> #include <algorithm> #include <queue> #include <map> #include <vector> using namespace std; #define ll long long char a[100000+8],b[1000+8]; int main() { scanf("%s", a); scanf("%s", b); int sign; bool flag; int len1 = strlen(a), len2 = strlen(b); for(int i = 0; i<len1-len2+1; i++) { flag = 0; int j; for(j = 0; j<len2; j++) { sign = i; if(a[i+j] == b[j])flag = 1; else { flag = 0; break; } } if(flag == 1 && j == len2) { printf("%d\n", sign+1); break; } } if(flag == 0)printf("-1\n"); return 0; }