Pagini recente » Cod sursa (job #2050704) | Cod sursa (job #2061324) | Cod sursa (job #1981671) | Cod sursa (job #437796) | Cod sursa (job #472306)
Cod sursa(job #472306)
#include <fstream>
#include <string.h>
using namespace std;
int Index;
unsigned int indexA, indexB;
char a[2000001];
char 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;
}