Zadatak period mi daje prekoraceno vremensko ogranicenje za drugi test primer a svi ostali prolaze za 0.01s. Jel moze neko da mi da taj?
period
moze taj :)
ide na private...
ide na private...
Cini mi se da mi to radi ispod 1s =/
evo koda pa ga pokreni ako te ne mrzi =/
#include <stdio.h>
int main ()
{
int a[200];
char c;
char pom;
scanf("%c%c",&pom,&c);
int i=0;
while (c!='\n')
{
scanf("%c",&c);
if (c>=48)
{
a[i]=c-48;
i++;
}
}
int n=i;
int k;
k=a[n-1];
int maxj=n-1,maxq=n-2;
for (int i=n-2;i>=0;i--)
{
if (a[i]==k)
{
int j=n-1;
int q=i;
while ((a[j]==a[q])&&(q>=0))
{
j--;
q--;
}
if (j<maxj)
{
maxj=j;
maxq=q;
}
else
{
if (j==maxj)
{
if (q>maxq)
{
maxj=j;
maxq=q;
}
}
}
}
}
printf("%c,",pom);
for (i=0;i<=maxq;i++)
{
printf("%d",a[i]);
}
printf("(");
for (i=maxq+1;i<=maxj;i++)
{
printf("%d",a[i]);
}
printf(")");
getchar();
getchar();
}
#include <stdio.h>
int main ()
{
int a[200];
char c;
char pom;
scanf("%c%c",&pom,&c);
int i=0;
while (c!='\n')
{
scanf("%c",&c);
if (c>=48)
{
a[i]=c-48;
i++;
}
}
int n=i;
int k;
k=a[n-1];
int maxj=n-1,maxq=n-2;
for (int i=n-2;i>=0;i--)
{
if (a[i]==k)
{
int j=n-1;
int q=i;
while ((a[j]==a[q])&&(q>=0))
{
j--;
q--;
}
if (j<maxj)
{
maxj=j;
maxq=q;
}
else
{
if (j==maxj)
{
if (q>maxq)
{
maxj=j;
maxq=q;
}
}
}
}
}
printf("%c,",pom);
for (i=0;i<=maxq;i++)
{
printf("%d",a[i]);
}
printf("(");
for (i=maxq+1;i<=maxj;i++)
{
printf("%d",a[i]);
}
printf(")");
getchar();
getchar();
}
problem je u ucitavanju..
zameni da ti niza "a" bude char tipa.
zameni tvoje ucitavanje sa:
scanf("%c,%s", &pom,a);
posle samo smanji sve elemente niza a za '0' (42).
i stavi:
i = strlen(a);
i, naravno, ukljuci sta ti treba od biblioteka za strlen..
i prolazi...
zameni da ti niza "a" bude char tipa.
zameni tvoje ucitavanje sa:
scanf("%c,%s", &pom,a);
posle samo smanji sve elemente niza a za '0' (42).
i stavi:
i = strlen(a);
i, naravno, ukljuci sta ti treba od biblioteka za strlen..
i prolazi...
hvala puno =)
Moze li 4. test primjer? samo on daje "Wrong result", svi ostali rade...
Posto ne mogu da vidim test primere, ne znam da li je do sledeceg u pitanju, ali sigurno znam da jedan test primer ima valjda 3.14, pa izlaz pocinje sa 3, a ne sa 0, tako da zapravo ispises prvi broj jedan prvom broju koji ucitas. Recimo da bi trebalo da pomogne ;)
Moj program (bez tih korekcija koje si naveo) daje rezultat 3,1(4)... To je tacno, zar ne?
Ove tri tacke na kraju ne znace da ima jos teksa. To je cisto iz navike.
Dakle, resenje je 3.1(4)
Dakle, resenje je 3.1(4)