Pagini recente » Cod sursa (job #1028756) | Cod sursa (job #1349293) | Cod sursa (job #1029023) | Cod sursa (job #982338) | Cod sursa (job #472250)
Cod sursa(job #472250)
#include <fstream>
using namespace std;
int index;
unsigned int indexA, indexB;
char a[2000001], b[2000001];
int sol[2000001];
int countSol;
int main()
{
ifstream f("strmatch.in");
ofstream g("strmatch.out");
f >> b >> a;
f.close();
index = -1;
do
{
index++;
indexA = index;
indexB = 0;
while( a[indexA] == b[indexB] && indexB < strlen(b) )
{
indexA++;
indexB++;
if (indexB == strlen(b))
{
countSol++;
sol[countSol] = index;
}
}
}while( index < strlen(a) - strlen(b) );
g << countSol << "\n";
for( int i = 1; i <= countSol; i++ )
g << sol[i] << " ";
g << "\n";
g.close();
return 0;
}