//--------------------------------------------------------------------------- #pragma hdrstop #include //--------------------------------------------------------------------------- int M, N; char *bug, *adn; void leeEntrada() { int i; char newLine; FILE *in = fopen( "input.txt", "r" ); fscanf( in, "%d %d\n", &M, &N ); bug = new char[M]; adn = new char[N]; for( i = 0; i < M; i++ ) fscanf( in, "%c", &bug[i] ); fscanf( in, "%c", &newLine ); for( i = 0; i < N; i++ ) fscanf( in, "%c", &adn[i] ); fclose( in ); } int calculaBug() { int qtty = 0, i, j, k, found; for( k = 0; k < N-M+1; k++ ) for( i = 0; i < M; i++ ) { found = 1; for( j = 0; j < M; j++ ) { if( bug[(j+i)%M] != adn[k+j] ) { j = M; found = 0; } } if( found ) { i = M; qtty++; k += M-1; } } return qtty; } void escribeSalida( int qtty ) { FILE *out = fopen( "output.txt", "w" ); fprintf( out, "%d", qtty ); fclose( out ); } #pragma argsused int main(int argc, char* argv[]) { leeEntrada(); escribeSalida( calculaBug() ); delete[] bug; delete[] adn; return 0; } //---------------------------------------------------------------------------