Pagini recente » Cod sursa (job #865719) | Cod sursa (job #1949101) | Poze preONI 2007 - pregatiri | Cod sursa (job #3169078) | Cod sursa (job #433326)
Cod sursa(job #433326)
/*
* 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);
}
}
inline vector<int>::iterator ending( void )
{
if( v.size() > 1000 )
return v.begin()+1000;
return v.end();
}
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(), ending(), ostream_iterator<int>( out, " " ) );
out<<'\n';
return EXIT_SUCCESS;
}