Cod sursa(job #433314)

Utilizator alexandru92alexandru alexandru92 Data 3 aprilie 2010 16:03:42
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
/* 
 * File:   main.cpp
 * Author: VirtualDemon
 *
 * Created on April 3, 2010, 2:09 PM
 */
#include <string>
#include <vector>
#include <cstdlib>
#include <fstream>
#include <iterator>

/*
 *
 */
using namespace std;
string A, B;
vector< int > v;
inline void search( int N, int M )
{
    int i, j, till=N-M+1;
    for( i=0; i < till; ++i )
    {
        for( j=0; j < M; ++j )
            if( B[i+j] != A[j] )
                break;

        if( j == M )
            v.push_back(i);
        if( 1000 == v.size() )
            break;
    }
}
int main( void )
{
    ifstream in( "strmatch.in" );
    in>>A>>B;
    search( B.size(), A.size() );
    ofstream out( "strmatch.out" );
    out<<v.size()<<'\n';
    copy( v.begin(), v.end(), ostream_iterator<int>( out, " " ) );
    out<<'\n';
    return EXIT_SUCCESS;
}