| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 13262 | baneling100 | Ants (IZhO12_ants) | C++98 | 0 ms | 1084 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#define K_MAX 100
struct ant {
    int X;
    int Y;
    int D;
} Ant[K_MAX+1];
int W, H, K, T, Dx[5]={0,1,0,-1,0}, Dy[5]={0,0,1,0,-1};
void input(void) {
    int i, in1, in2, in3;
    scanf("%d %d %d %d",&W,&H,&K,&T);
    for(i=1 ; i<=K ; i++) {
        scanf("%d %d %d",&in1,&in2,&in3);
        Ant[i]={in1,in2,in3};
    }
}
void output(void) {
    int i, j, cnt;
    for(i=1 ; i<=K ; i++) {
        if(Ant[i].D%2)
            cnt=T%(2*W);
        else
            cnt=T%(2*H);
        for(j=1 ; j<=cnt ; j++) {
            Ant[i].X+=Dx[Ant[i].D];
            Ant[i].Y+=Dy[Ant[i].D];
            if(Ant[i].X==0 || Ant[i].X==W || Ant[i].Y==0 || Ant[i].Y==H)
                Ant[i].D=(Ant[i].D+1)%4+1;
        }
        printf("%d %d %d\n",Ant[i]);
    }
}
int main(void) {
    input();
    output();
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
