← Back to topics
Topic

period

ugljesas
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?
renovator
moze taj :)
ide na private...
ugljesas
Cini mi se da mi to radi ispod 1s =/
ugljesas
evo koda pa ga pokreni ako te ne mrzi =/
#include <stdio.h>
int main ()
{
int a[200];
char c;
char pom;
scanf("%c%c",&amp;pom,&amp;c);
int i=0;
while (c!='\n')
{
scanf("%c",&amp;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])&amp;&amp;(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();
}
renovator
problem je u ucitavanju..
zameni da ti niza "a" bude char tipa.

zameni tvoje ucitavanje sa:
scanf("%c,%s", &amp;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...
ugljesas
hvala puno =)
iggy91
Moze li 4. test primjer? samo on daje "Wrong result", svi ostali rade...
boba5551
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 ;)
iggy91
Moj program (bez tih korekcija koje si naveo) daje rezultat 3,1(4)... To je tacno, zar ne?
iggy91
Ove tri tacke na kraju ne znace da ima jos teksa. To je cisto iz navike.

Dakle, resenje je 3.1(4)