#include #include void replace(char *string, int index, int size, int string_size) { for (int pos = index; pos < string_size; pos++) { string[pos] = pos + size >= string_size ? '#' : string[pos+size]; } // printf("stri: %s\n", string); return; } int main() { int n,q; scanf("%d %d", &n,&q); char string[n];// = malloc(n); int arr[n];// = malloc(n * sizeof(int)); int sizeI = 0; int succsesfulInc = 0; scanf("%s", string); // scanf("%c", &c); for (int i = 0; i < q; i++){ scanf("%d", &sizeI); //printf("%d\n", sizeI); // char* inci = malloc(sizeI); char inci[sizeI]; scanf("%s", inci); //for(int ii = 0; ii < sizeI + 1; ii++){ //printf("%c", inci[ii]); //} succsesfulInc = 0; // printf("searching for %s\n", inci); //mame co chcem odebrat for(int ii = 0; ii + sizeI < n; ii++){ //skip przdne casti //if(string[ii] == '\n') // ii += arr[ii]; //mame schodu prvniho pismene //printf("%c\n", inci[1]); /*else*/ if(string[ii] == inci[0]){ //printf("%c %c \n", string[ii], inci[1]); //find schoda int iter = 1; for(iter = 1; iter < sizeI; iter ++){ // printf("%c %c\n", inci[iter], string[iter+ii]); if(inci[iter] != string[iter + ii]) { break; } } if(iter == sizeI){ succsesfulInc++; //vymaz arr[ii] = sizeI; replace(string, ii, sizeI, n); // // n -= sizeI; // for(int nn = 0; nn < n; nn++){ // printf("%c", string[nn]); // } // printf("\n"); } } } //mame pocet a vymazano // free(inci); printf("%d\n", succsesfulInc); } return 0; }