Rezultati

Up. imeNalogaJezikRezultatČas oddaje
pokosimo-2018 Droni C++ 100/100OK 10. maj '18 @ 18:27

Test Točke Porabljen spomin Porabljen čas Status
#1 5/5 3,184 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#2 5/5 3,195 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#3 5/5 3,180 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#4 5/5 3,184 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#5 5/5 3,191 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#6 5/5 3,188 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#7 5/5 3,180 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#8 5/5 3,191 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#9 5/5 3,180 MiB 0,003 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#10 5/5 3,191 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#11 5/5 3,180 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#12 5/5 3,188 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#13 5/5 3,188 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#14 5/5 3,184 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#15 5/5 3,191 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#16 5/5 3,191 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#17 5/5 3,184 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#18 5/5 3,180 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#19 5/5 3,180 MiB 0,004 s OK
Povratna informacija sodniškega sistema:
​The output was correct.
#20 5/5 3,191 MiB 0,000 s OK
Povratna informacija sodniškega sistema:
​The output was correct.

Ocenjevani program (droni.cpp):
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <stdio.h>

using namespace std;

typedef struct koor {
    int x, y, z;
} koor;

koor preberi() {
    koor out;
    scanf("%d %d %d", &out.x, &out.y, &out.z);
    return out;
}

void izpisi(koor a, koor b) {
    printf("(%d %d %d) (%d %d %d)\n", a.x, a.y, a.z, b.x, b.y, b.z);
}

koor premakni(koor zdej, koor cilj) {
    koor out = {zdej.x, zdej.y, zdej.z};
    if(zdej.x > cilj.x) {
        out.x--;
        return out;
    }
    if(zdej.x < cilj.x) {
        out.x++;
        return out;
    }
    if(zdej.y > cilj.y) {
        out.y--;
        return out;
    }
    if(zdej.y < cilj.y) {
        out.y++;
        return out;
    }
    if(zdej.z > cilj.z) {
        out.z--;
        return out;
    }
    if(zdej.z < cilj.z) {
        out.z++;
        return out;
    }
    return out;
}

bool primerjaj(koor a, koor b) {
    return a.x == b.x && a.y == b.y && a.z == b.z;
}

int main() {
    koor zaca = preberi();
    koor kon1 = preberi();
    koor zacb = preberi();
    koor kon2 = preberi();
    koor a, b;
    izpisi(zaca, zacb);
    while(!primerjaj(zaca, kon1) || !primerjaj(zacb, kon2)) {
        a = premakni(zaca, kon1);
        b = premakni(zacb, kon2);
        if(primerjaj(a, b) || (primerjaj(a, zacb) && primerjaj(b, zaca))) {
            if(zaca.x != zacb.x) {
                zaca.y++;
                izpisi(zaca, b);
                int smer = 1;
                if(kon2.x < b.x) smer = -1;
                for(int i=0; i<6; ++i) {
                    b.x+=smer;
                    izpisi(zaca, b);
                }
                zacb = b;
                continue;
            }
            else if(zaca.y != zacb.y) {
                zaca.z++;
                izpisi(zaca, b);
                int smer = 1;
                if(kon2.y < b.y) smer = -1;
                for(int i=0; i<6; ++i) {
                    b.y+=smer;
                    izpisi(zaca, b);
                }
                zacb = b;
                continue;
            }
            else if(zaca.z != zacb.z) {
                zaca.y++;
                izpisi(zaca, b);
                int smer = 1;
                if(kon2.z < b.z) smer = -1;
                for(int i=0; i<6; ++i) {
                    b.z+=smer;
                    izpisi(zaca, b);
                }
                zacb = b;
                continue;
            }
        }
        
        zaca = a;
        zacb = b;
        izpisi(a, b);
    }
    return 0;
}