Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- const int M=1000000009;
- using namespace std;
- int main()
- {
- int n,h[5][2010],x=29,sr,s=0,dl[5],pot[5][2010],p=0,k,tab[5][2010],l=1,e=0;// sr-srodek, s-potrzebne(chyba), dl-dlugosc wyrazu, pot-tablica poteg, p-poczatek w szukaniu binarnym,k-koniec w binarnym,tab-hasze o szukanej dlugosci w binarnym,l zmienna w szukaniu binarnym
- // e-zmienna w szukaniu binarnym haszy
- string t[5];
- scanf("%d",&n);
- for(int i=1;i<=n;i++)
- {
- cin>>t[i];//wyraz
- dl[i]=t[i].length();// dlugosc wyrazu
- e=min(e,dl[i]);
- h[i][1]=t[i][1]-'a'+1;// hasz zerowy (29^0=1)
- for(int j=2;j<dl[i];j++)
- {
- h[i][j]=(h[i][j-1]+(t[i][j]-'a'+1)*x)%M;//haszowanie
- x=x*29;// potegi
- pot[i][j]=x;//tablica poteg dla danego hasza
- }
- }
- while(s==1)
- {
- k=e;//koniec we wzorze sr=(p+k)/2
- sr=(p+k)/2;//początek szukania binarnego
- for (int i=1;i<=n;i++)
- {
- tab[i][0]=h[i][sr];//pierwszy wyraz to hasz od 0 do sr czyli h[i][sr]
- for(int j=sr+1;j<=dl[i];j++)
- {
- tab[i][l]=h[i][l]-h[i][j];//hasze o szukanej dlugosci
- //CO ZROBIC DALEJ? (JAK UZYC TEGO GLUPIEGO SORTU ORAZ JAKIE DAC WARUNKI W WHILE ZE KIEDY MA SIE KONCZYC) POMOC PLIIIIIIIIIIS
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement