Mai intai trebuie sa te autentifici.
Cod sursa(job #446015)
Utilizator | Data | 24 aprilie 2010 19:36:27 | |
---|---|---|---|
Problema | Potrivirea sirurilor | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.8 kb |
/*
* File: main.cpp
* Author: virtualdemon
*
* Created on April 24, 2010, 7:24 PM
*/
#include <string>
#include <vector>
#include <cstdlib>
#include <fstream>
#include <iterator>
/*
*
*/
using namespace std;
string pattern, ss;
vector< int > match;
inline void PatternMatch( int N )
{
for( size_t p=ss.find( pattern, 0 ); p < N; p=ss.find( pattern, p+1 ) )
match.push_back( p );
}
inline int min( int x, int y )
{
if( x < y )
return x;
return y;
}
int main(int argc, char** argv)
{
ifstream in( "strmatch.in" );
ofstream out( "strmatch.out" );
in>>pattern>>ss;
PatternMatch( ss.size() );
out<<match.size()<<'\n';
copy( match.begin(), match.begin()+min( 1000, match.size() ), ostream_iterator<int>( out, " " ) );
out<<'\n';
return (EXIT_SUCCESS);
}