Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <cmath>
- #include <string>
- #include <vector>
- #include <set>
- #include <stdio.h>
- #include <string.h>
- using namespace std;
- int main()
- {
- int T;
- scanf("%d",&T);
- vector< string > palabra(T);
- //vector< pair< string,int > > candidato;
- for (int i = 0; i < T; ++i)
- {
- set< pair< string,int > > candidato;
- set< pair< string,int > >::iterator ite;
- set< pair< string,int > >::reverse_iterator rit;
- cin>>palabra[i];
- int tamanio_base=0;
- for (int k = 0; k < palabra[i].size(); ++k)
- {
- int limite=k+1;
- while(limite!=palabra[i].size()+1)
- {
- string buffer;
- size_t found;
- for (int j = k; j < limite; ++j)
- buffer+=palabra[i][j];
- //cout<<"se busca:"<<buffer<<" limite:"<<limite<<endl;
- found=palabra[i].find(buffer,k+1);
- if (found!=std::string::npos)
- {
- int cont=2;
- //cout<<"se encontro:"<<buffer<<" en:"<<found<<endl;
- do
- {
- found=palabra[i].find(buffer,found+1);
- if (found!=std::string::npos)
- cont++;
- }while(found!=std::string::npos);
- if (cont>=2 and buffer.size()>=tamanio_base)
- {
- if(buffer.size()==tamanio_base)
- {
- ite=candidato.begin();
- if((ite->first).find(buffer)!=0)
- candidato.insert(make_pair(buffer,cont));
- }
- else
- candidato.insert(make_pair(buffer,cont));
- }
- if (buffer.size()>tamanio_base)
- tamanio_base=buffer.size();
- }
- limite++;
- }
- }
- //cout<<palabra[i]<<endl;
- if(candidato.size()!=0)
- {
- //*ite--;
- //cout << "Palabra:" << ite->first<<" Repeticiones:"<<ite->second<< endl;
- ite = candidato.begin();
- rit=candidato.rbegin();
- if((rit->first).size()==(ite->first).size())
- {
- if((ite->second)>=(rit->second))//comparo la cantidad de repeticiones
- cout<<ite->first<<" "<<ite->second<< endl;
- else
- cout << rit->first<<" "<<rit->second<< endl;
- }
- else
- {
- if((rit->first).size()>(ite->first).size())
- cout <<rit->first<<" "<<rit->second<< endl;
- else
- cout << ite->first<<" "<<ite->second<< endl;
- }
- }
- else
- cout<<"No repetitions found!"<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement