Sleep, Eat, Programme, Math
Я сделала это!!!
24-10-2007 15:27 [Аленка] Мальчики, девочки и бревно - Solution accepted


Yahoo!!! ЕЕЕЕ!!! Я стоооолько сил и нерв вложила в этот фонарь, но все-таки сдала!!! УРА!!! ЛЯЛЯЛЯ!!!


@темы: Программирование

Комментарии
29.10.2007 в 10:26

я бунтарь же
выложи заценить
29.10.2007 в 11:19

Sleep, Eat, Programme, Math
program boys_and_girls;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var a: array of array of array of longint; //0 - на первом берегу, 1 - на втором
vi, vj, vk: array[0..10000] of integer;
vis: array[1..50, 1..50, 0..1] of boolean;
b, g, tb, tg, t, i, j, k, s, f: integer;
begin
assign(input, 'input.txt');
assign(output, 'output.txt');
reset(input);
rewrite(output);
read(b, g, tb, tg);
setlength(a, b + 1);
setlength(a[0], g + 1);
for j := 0 to g + 1 do
begin
setlength(a[0, j], 2);
end;
for i := 1 to b do
begin
setlength(a[i], g + 1);
for j := 0 to g + 1 do
begin
setlength(a[i, j], 2);
end;
{if (i mod 2) = 0 then
begin
a[i, 0, 1] := a[i - 1, 0, 1];
end
else
a[i, 0, 1] := a[i - 1, 0, 1] + tb;
a[i - 1, 0, 0] := a[i, 0, 1] + tb; }
end;

for i := 0 to b do
begin
for j := 0 to g do
begin
for k := 0 to 1 do
begin
a[i, j, k] := maxint;
end;
end;
end;
a[b, g, 0] := 0;
s := 1;
{a[b - 1, g, 1] := min(a[b - 1, g, 1], a[b, g, 0] + tb);
inc(f);
vi[f] := b - 1;
vj[f] := g;
vk[f] := 1;
if (b > 2)then
begin
a[b - 2, g, 1] := min(a[b - 2, g, 1], a[b, g, 0] + tb);
inc(f);
vi[f] := b - 2;
vj[f] := g;
vk[f] := 1;
end;
a[b, g - 1, 1] := min(a[b, g - 1, 1], a[b, g, 0] + tg);
inc(f);
vi[f] := b;
vj[f] := g - 1;
vk[f] := 1;
if g > 2 then
begin
a[b, g - 2, 1] := min(a[b, g - 2, 1], a[b, g, 0] + tg);
inc(f);
vi[f] := b;
vj[f] := g - 2;
vk[f] := 1;
end;
a[b - 1, g - 1, 1] := min(a[b - 1, g - 1, 1], a[b, g, 0] + max(tb, tg));
inc(f);
vi[f] := b - 1;
vj[f] := g - 1;
vk[f] := 1; }
f := 1;
vi[1] := b;
vj[1] :=g;
vk[1] :=0;
while (s <= f) and (f < 9998) do
begin
if (vk[s] = 1) then
begin
if (vi[s] <= b - 2) and (a[vi[s] + 2, vj[s], 0] > a[vi[s], vj[s], 1] + tb) then
begin
a[vi[s] + 2, vj[s], 0] := a[vi[s], vj[s], 1] + tb;
inc(f);
vi[f] := vi[s] + 2;
vj[f] := vj[s];
vk[f] := 0;
end;
if (vi[s] <= b - 1) and (a[vi[s] + 1, vj[s], 0] > a[vi[s], vj[s], 1] + tb) then
begin
a[vi[s] + 1, vj[s], 0] := a[vi[s], vj[s], 1] + tb;
inc(f);
vi[f] := vi[s] + 1;
vj[f] := vj[s];
vk[f] := 0;
end;
if (vi[s] <= b - 1) and (vj[s] <= g - 1) and (a[vi[s] + 1, vj[s] + 1, 0] > a[vi[s], vj[s], 1] + max(tb, tg)) then
begin
a[vi[s] + 1, vj[s] + 1, 0] := a[vi[s], vj[s], 1] + max(tb, tg);
inc(f);
vi[f] := vi[s] + 1;
vj[f] := vj[s] + 1;
vk[f] := 0;
end;
if (vj[s] <= g - 1) and (a[vi[s], vj[s] + 1, 0]> a[vi[s], vj[s], 1] + tg) then
begin
a[vi[s], vj[s] + 1, 0] := a[vi[s], vj[s], 1] + tg;
inc(f);
vi[f] := vi[s];
vj[f] := vj[s] + 1;
vk[f] := 0;
end;
if (vj[s] <= g - 2) and (a[vi[s], vj[s] + 2, 0]> a[vi[s], vj[s], 1] + tg) then
begin
a[vi[s], vj[s] + 2, 0] := a[vi[s], vj[s], 1] + tg;
inc(f);
vi[f] := vi[s];
vj[f] := vj[s] + 2;
vk[f] := 0;
end;
inc(s);
end
else
begin
if (vi[s] > 1) and (a[vi[s] - 2, vj[s], 1] > a[vi[s], vj[s], 0] + tb) then
begin
a[vi[s] - 2, vj[s], 1] := a[vi[s], vj[s], 0] + tb;
inc(f);
vi[f] := vi[s] - 2;
vj[f] := vj[s];
vk[f] := 1;
end;
if (vi[s] > 0) and (a[vi[s] - 1, vj[s], 1] > a[vi[s], vj[s], 0] + tb) then
begin
a[vi[s] - 1, vj[s], 1] := a[vi[s], vj[s], 0] + tb;
inc(f);
vi[f] := vi[s] - 1;
vj[f] := vj[s];
vk[f] := 1;
end;
if (vi[s] > 0) and (vj[s] > 0) and (a[vi[s] - 1, vj[s] - 1, 1] > a[vi[s], vj[s], 0] + max(tb, tg)) then
begin
a[vi[s] - 1, vj[s] - 1, 1] := a[vi[s], vj[s], 0] + max(tb, tg);
inc(f);
vi[f] := vi[s] - 1;
vj[f] := vj[s] - 1;
vk[f] := 1;
end;
if (vj[s] > 0) and (a[vi[s], vj[s] - 1, 1]> a[vi[s], vj[s], 0] + tg) then
begin
a[vi[s], vj[s] - 1, 1] := a[vi[s], vj[s], 0] + tg;
inc(f);
vi[f] := vi[s];
vj[f] := vj[s] - 1;
vk[f] := 1;
end;
if (vj[s] > 1) and (a[vi[s], vj[s] - 2, 1]> a[vi[s], vj[s], 0] + tg) then
begin
a[vi[s], vj[s] - 2, 1] := a[vi[s], vj[s], 0] + tg;
inc(f);
vi[f] := vi[s];
vj[f] := vj[s] - 2;
vk[f] := 1;
end;
inc(s);
end;
end;
write(a[0, 0, 1]);
close(input);
close(output);
end.
29.10.2007 в 11:20

Sleep, Eat, Programme, Math
Ссори, что без отступов, просто тут при добавлении кода они не сохраняются=(
01.11.2007 в 03:08

я бунтарь же
а чо модуль выложить слабо?
лениво втыкать. и что в инпуте?
01.11.2007 в 04:25

Sleep, Eat, Programme, Math
короче, вот задача
02.11.2007 в 03:18

я бунтарь же
понятно. а еще чем можешь похвастаться?
02.11.2007 в 16:14

Sleep, Eat, Programme, Math
antipes, да я ничем особым похвастаться не могу, достижений-то особых нет...
06.11.2007 в 07:05

я бунтарь же
ну всетаки?
можно и не особо интересное - так, код посмотреть.
всегда хотел познакомиться с девушкой-программистом! :)

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail