Pozdrav svima!
Imam problem sto se tice jave na bubble bee-ju. Naime, pise mi RTE dok na mom kompjuteru radi normalno (NetBeans). Ne razumem se u javine kompjalere (ovo mi je treci program ). Moze pomoc?
Možda mogu da pomognem, ja koristim dev isto. U principu, dev ti ubacuje po defaultu dosta biblioteka i alatki za lakše kompajliranje, što u takmičarskom programiranju i nije baš poželjno jer se na “raw” kompajlerima gleda samo izvorni kod, pa sve što je dev automatski dodao neće raditi. Verovatno ti zato radi kući, ali ne i na serveru. U principu ćeš se navići ili možeš da koristiš bits biblioteku…
Što se konkretnog primera tiče, proveri system pause, getchar itd. i stavi return 0, ipak je INT main, a neki kompajleri to traže . Dodaj cout<<"\n"; za novi red.
Nisi lepo procitao zadatak, potrebno je prvo ispisati obim pa povrsinu, a ne obrnuto. Takodje nakon ispisivanja obima trebas da dodas razmak kako bi na izlazu imao dva broja, a ne jedan.
Online judge-ovi uglavnom imaju neke specifične zahteve što se tiče Jave. Probaj da nađeš neko uputstvo kako treba da izgleda submitovan Java kod. Ili isprobavaj neke kombinacije, recimo stavi da ti se main klasa zove Main, ili da ne bude public (nego samo class Main { ...). NetBeans ne bi trebalo da bude izvor nekomatibilnosti - ako hoćeš da proveriš, pod uslovom da imaš samo jednu klasu, uvek možeš da pokreneš javac ImeFajla.java da dobiješ .class fajl, koji se onda pokreće sa java ImeFajla.class. Imaš negde taj kod koji daje RTE?
Hvala puno, radi sada. Package direktiva je bila prisutna pa sam obrisao, NetBeans je sam premestio klasu gde treba i sad radi. Samo još mle da skinem . Gde bih mogao da skinem test primere za proveru? Uzgred ovo je kod ako nekog zanima…
import java.util.Scanner;
public class Maje {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
long n, c, b, br, p, d;
boolean check=true;
long[] x;
Scanner sc = new Scanner (System.in);
n = sc.nextInt();
x = new long [1000007];
x[0]=0;
for(int i=1; i<=n; i++)
{
x[i]=sc.nextInt();
}
for(int i=1; i<=n; i++)
{
b=1;
br=0;
while(b<=x[i])
{
b*=10;
br++;
}
b/=10;
c=1000000000;
for(int j=0; j<br; j++)
{
p=x[i]%10;
d=x[i]/10;
p*=b;
x[i]=p+d;
if((x[i]<c)&&(x[i]>=x[i-1]))
{
c=x[i];
}
}
if(c<x[i-1] || c==1000000000)
{
System.out.println("NE");
check=false;
break;
}
x[i]=c;
}
if(check)
{
System.out.println("DA");
}
}
}
Pozdrav svima,
Dok sam radio zadatak Pola-Pola (Rep 2018, 1.) u Javi imao sam par tle-ova. Međutim, IDENTIČNI kod u C++ radi bez problema (bez boostera, nema cin.tie niti ios sync…). Zanimljivo… Ako neko može da pojasni zašto se ovako ponašaju jezici i da dâ neke savete za ubrzavanje jave bio bih zahvalan.
Hvala unapred.
Evo i kodova koga interesuje:
Najveci razlog bi trebalo da je to sto vreme izvrsavanja koda u Javi ukljucuje i vreme startovanja JVM-a. Zbog toga se nekad postavlja drugacije vremensko ogranicenje za Javu.
Dosta zavisi i od kompajlera koji se koriste, noviji kompajleri imaju vise optimizacija.