Informatică, întrebare adresată de Dilau420, 8 ani în urmă

Problema Pbinfo DistLungMax #2738


Iau 20 de puncte pe sursa mea... Primeste punctele doar pe cazul in care nici un cuvant nu are toate literele distincte, desi mie imi merge orice exemplu.. nu merge nici pe exemplu pe evaluatorul de pe Pbinfo.. stie cineva de ce?? si poate cineva sa imi dea sursa de 100?

Asta e sursa:

#include
#include

using namespace std;

int v[26];
char s[256];
int k = 0, maxim = -1, indice = -1;
int cnt_mom = 0, sm = 0;

int main()
{
cin.getline(s, 256);

for(int i = 0; s[i]; ++i)
{
if(s[i] == 32)
{
int ok = 1, cnt = 0;
for(int j = 1; j <= 26; ++j)
{
if(v[j] > 1)
{
ok = 0;
break;
}
if(v[j] == 1)
cnt++;
}
if(ok)
{
if(cnt > maxim)
{
maxim = cnt;
indice = k;
}
}
for(int j = 1; j <= 26; ++j)
v[j] = 0;
k++;
}
else
{
v[s[i] - 96]++;
}
}

if(indice == -1)
{
cout << indice;
return 0;
}

for(int i = 0; s[i]; ++i)
{
sm++;
if(s[i] == 32)
{
cnt_mom++;
sm = 0;
}
if(cnt_mom == indice && sm != 0)
cout << s[i];
}

return 0;
}

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

#include <cstring>

#include <fstream>

using namespace std;

ifstream f("distlungmax.in");

char s[255];

short n, i, j, lcuv, lmax, ind, distincte=1, frlit[26], exista;

int main()

{

   f.getline(s, 255);

   n=strlen(s);

   s[n]=' '; ++n; s[n]=0;

   i=0;

   while (i<n)

   {

       if (s[i]!=' ')

       {

           ++lcuv;

           j=s[i]-'a';

           ++frlit[j];

           if (frlit[j]>1) distincte=0;

       }

       else

       {

           if (distincte)

           {

               exista=1;

               if (lcuv>lmax)

               {

                   lmax=lcuv; ind=i-lmax;

               }

           }

           lcuv=0; distincte=1;

           for (j=0; j<26; ++j)

               frlit[j]=0;

       }

       ++i;

   }

   if (exista)

   {

       for (i=ind; i<ind+lmax; ++i )

           cout << s[i];

   }

   else cout << -1;

}


Dilau420: Nu stiu de ce ai bagat fisiere, dar ii ok =]]]
boiustef: pentru comoditate... sa nu introduc date de fiece data la executare cod... dar pbinfo nu s-a suparat :)))
Dilau420: merge si asa pe pbinfo cu fisiere :))) ce naiba ? :))
boiustef: poate a coincis cu numele lor de fisier cu care evaluiaza ei
Dilau420: probabil
Alte întrebări interesante