Cod sursa(job #822204)

Utilizator radu.bRadu Brumariu radu.b Data 22 noiembrie 2012 23:34:05
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <string>
#include <vector>

int main(void) {
	
	freopen("strmatch.in", "r", stdin);
	freopen("strmatch.out", "w", stdout);
	
	std::string P,T;
	
	std::cin >> P;
	std::cin >> T;
	
	int m = P.size();
	int n = T.size();
	
	if(n<m){
		std::cout << "0" << std::endl;
		std::cout << "0 0" << std::endl;
		return -1;
	}

	std::vector<int> pos;
	int found = 0;
	int i = 0;
	for(int s=0;s<n-m;s++){
		if (P.compare(0,m,T,s,m) == 0){
			pos.push_back(s);
			found++;
		}
	}
	
	std::cout << found << std::endl;
	for(std::vector<int>::const_iterator it=pos.begin(); it != pos.end(); it++){
		std::cout << *(it) << " ";
	}
	std::cout<< std::endl;
	
}