Rezultati

Up. imeNalogaJezikRezultatČas oddaje
DMT2018 Droni Java 0/100Prekoračen čas (TLE) 10. maj '18 @ 17:30

Test Točke Porabljen spomin Porabljen čas Status
#1 0/5 36,398 MiB 0,000 s Napačen odgovor
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#2 5/5 37,211 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#3 0/5 45,766 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#4 0/5 46,543 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#5 5/5 41,469 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#6 0/5 44,387 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#7 0/5 44,879 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#8 5/5 36,770 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#9 5/5 37,004 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#10 0/5 43,547 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#11 0/5 46,699 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#12 5/5 37,148 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#13 5/5 38,910 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#14 5/5 39,016 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#15 5/5 36,316 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#16 0/5 46,469 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#17 0/5 47,473 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#18 0/5 44,996 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.
#19 5/5 37,293 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#20 0/5 43,750 MiB 0,000 s Prekoračen čas
Povratna informacija sodniškega sistema:
​The program made an invalid move.

Ocenjevani program (Droni.java):
import java.util.*;

public class Droni {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[] koordinate1 = new int[3];
int[] koordinate2 = new int[3];

koordinate1[0] = sc.nextInt();
koordinate1[1] = sc.nextInt();
koordinate1[2] = sc.nextInt();

int x1 = sc.nextInt();
int y1 = sc.nextInt();
int z1 = sc.nextInt();

koordinate2[0] = sc.nextInt();
koordinate2[1] = sc.nextInt();
koordinate2[2] = sc.nextInt();

int x2 = sc.nextInt();
int y2 = sc.nextInt();
int z2 = sc.nextInt();

boolean sw = true;
boolean prvi = false;
boolean drugi = false;

int premik1 = 0;
int premik2 = 0;

int[] stare1 = new int[3];
int[] stare2 = new int[3];

 System.out.print("("+koordinate1[0]+ " "+koordinate1[1]+" "+koordinate1[2]+") ("+koordinate2[0]+" "+koordinate2[1]+" "+koordinate2[2]+")");
        System.out.println();

    while (sw){
        

        stare1[0] = koordinate1[0];
        stare1[1] = koordinate1[1];
        stare1[2] = koordinate1[2];

        stare2[0] = koordinate2[0];
        stare2[1] = koordinate2[1];
        stare2[2] = koordinate2[2];

        if (koordinate1[0] > x1){
            koordinate1[0]--;
            premik1 = 1;
            prvi = false;
        } else if (koordinate1[0] < x1){
            koordinate1[0]++;
            premik1 = 1;
            prvi = false;
        } else if (koordinate1[1] > y1){
            koordinate1[1]--;
            premik1 = 2;
            prvi = false;
        } else if (koordinate1[1] < x1){
            koordinate1[1]++;
            premik1 = 2;
            prvi = false;
        } else if (koordinate1[2] > z1){
            koordinate1[2]--;
            premik1 = 3;
            prvi = false;
        } else if (koordinate1[2] < z1){
            koordinate1[2]++;
            premik1 = 3;
            prvi = false;
        }

        if (koordinate2[0] > x2){
            koordinate2[0]--;
            premik2 = 1;
            drugi = false;
        } else if (koordinate2[0] < x2){
            koordinate2[0]++;
            premik2 = 1;
            drugi = false;
        } else if (koordinate2[1] > y2){
            koordinate2[1]--;
            premik2 = 2;
            drugi = false;
        } else if (koordinate2[1] < x2){
            koordinate2[1]++;
            premik2 = 2;
            drugi = false;
        } else if (koordinate2[2] > z2){
            koordinate2[2]--;
            premik2 = 3;
            drugi = false;
        } else if (koordinate2[2] < z2){
            koordinate2[2]++;
            premik2 = 3;
            drugi = false;
        }



        if (koordinate1[0] == koordinate2[0] && koordinate1[1] == koordinate2[1] && koordinate1[2] == koordinate2[2]){
            if (!prvi && !drugi){
                koordinate1[0] = stare1[0];
                koordinate1[1] = stare1[1];
                koordinate1[2] = stare1[2];
            }
            if (prvi){
                if (premik2 == 1){
                    koordinate1[1]++;
                }
                if (premik2 == 2){
                    koordinate1[2]++;
                }
                if (premik2 == 3){
                    koordinate1[0]++;
                }
            }
            if (drugi){
                if (premik1 == 1){
                    koordinate2[1]++;
                }
                if (premik1 == 2){
                    koordinate2[2]++;
                }
                if (premik1 == 3){
                    koordinate2[0]++;
                }
            }
        }

        if (koordinate1[0] == stare2[0] && koordinate1[1] == stare2[1] && koordinate1[2] == stare2[2] && koordinate2[0] == stare1[0] && koordinate2[1] == stare1[1] && koordinate2[2] == stare1[2]){
            koordinate1[0] = stare1[0];
            koordinate1[1] = stare1[1];
            koordinate1[2] = stare1[2];
                if (premik2 == 1){
                    koordinate1[1]++;
                }
                if (premik2 == 2){
                    koordinate1[2]++;
                }
                if (premik2 == 3){
                    koordinate1[0]++;
                }
        }

        System.out.print("("+koordinate1[0]+ " "+koordinate1[1]+" "+koordinate1[2]+") ("+koordinate2[0]+" "+koordinate2[1]+" "+koordinate2[2]+")");
        System.out.println();

        if (koordinate1[0] == x1 && koordinate1[1] == y1 && koordinate1[2] == z1){
            prvi = true;
        }
        if (koordinate2[0] == x2 && koordinate2[1] == y2 && koordinate2[2] == z2){
            drugi = true;
        }
        if (prvi && drugi){
            sw = false;
        }
        
    }

}

}