/* * Encryption (via mjd@cs.auckland.ac.nz) */ #include #include #include #include using namespace std; const static int LLEN=1024; int main() { char line[LLEN]; while (true) { cin.getline(line,LLEN); // cin >> K; -- stops reading at space if (line[0] =='#') break; string K(line); //cerr << "K=" << K << endl; cin.getline(line,LLEN); string P(line); string::size_type szK = K.length(), szP = P.length(); int cnt = 0; while (szP) { //cerr << "P=" << P << endl; int i; for (i=min(szK,szP); i>0; i--) { if (K.find(P.substr(0,i))!=string::npos) break; } //cerr << "i=" << i << endl; assert(i>=0); // missing characters in K cnt++; P.erase(P.begin(),P.begin()+i); szP = P.length(); } cout << cnt << endl; } }