Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fort Knox.docx
Скачиваний:
1
Добавлен:
23.11.2019
Размер:
49.9 Кб
Скачать

Лістинг програми

f1.c

int fibb(int mode)

{

static int f1, f2, f3;

if (mode==0) {

f3=f1+f2;

f1=f2;

f2=f3;

} else {

f1=0;

f2=1;

}

return (f1);

}

extern K;

int get_rand()

{

return fibb(0)%K;

}

f2.c

extern x, y, z, ro, xx, yy;

extern V, W, U, K, dl, dm, de, M0, M, E0, E;

int P() // Put

{

x=get_rand();

y=get_rand();

z=get_rand();

ro=get_rand();

// cur_m = x*y*z*ro;

return 0;

}

int C() // Centre

{

return 0;

}

int R() // Rotare Ox

{

xx=y;

yy=z;

y=yy;

z=xx;

}

int T() // Rotare Oy

{

xx=x;

yy=z;

x=yy;

z=xx;

}

int A() // Accept

{

E0-=de;

M0=M0 + ro*min(dl,x)*y*z - dm;

V-=min(dl,x)*y*z;

x-=min(dl,x);

}

int D() // Drop

{

x=0;

return 0;

}

f3.c

int x, y, z, ro, xx, yy;

int V, W, U, K, dl, dm, de, M0, M, E0, E;

int swap()

{

int t;

t = xx;

xx = yy;

yy = t;

}

int min(int x, int y)

{

return x<y ? x : y;

}

int get_x(int mode)

{

if (mode==-1) return 1000000000;

if (mode/3 == 0) return x;

if (mode/3 == 1) return y;

if (mode/3 == 2) return z;

}

int main()

{

// Initializing variables

V = 50;

W = 11;

U = 7;

K = 13;

dl = 1;

dm = 8;

de = 40;

M0 = 100;

M = 140;

E0 = 400;

E = 220;

// Workplace

fibb(1);

while (E0 > E && M0 < M && V!=0) {

P();

int minx;

minx = -1;

if (y<=W && z<=U && x<get_x(minx)) minx=0;

if (z<=W && y<=U && x<get_x(minx)) minx=1;

if (z<=W && x<=U && y<get_x(minx)) minx=2;

if (x<=W && z<=U && y<get_x(minx)) minx=3;

if (x<=W && y<=U && z<get_x(minx)) minx=4;

if (y<=W && x<=U && z<get_x(minx)) minx=5;

if (minx>0) {minx-=1; R();}

if (minx>1) {minx-=1; T();}

if (minx>2) {minx-=1; R();}

if (minx>3) {minx-=1; T();}

if (minx>4) {minx-=1; R();}

if (y<=W && z<=U) while (x*y*z*ro>0 && E0-de >= E && M0+(min(dl,x)*y*z*ro)-dm <= M && V-min(dl,x)*y*z>=0) A();

if (x>0) D();

}

// Returning

return 0;

}

01.11.2011

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]