← Back to topics
Topic

period

u
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?
r
renovator
moze taj :)
ide na private...
u
ugljesas
Cini mi se da mi to radi ispod 1s =/
u
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();
}
r
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...
i
iggy91
Moze li 4. test primjer? samo on daje "Wrong result", svi ostali rade...
b
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 ;)
i
iggy91
Moj program (bez tih korekcija koje si naveo) daje rezultat 3,1(4)... To je tacno, zar ne?
i
iggy91
Ove tri tacke na kraju ne znace da ima jos teksa. To je cisto iz navike.

Dakle, resenje je 3.1(4)