На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
zasqzasq написав:
можете викласти на сайті тести до задачі BEADS?
Якби Ви зволили перед тим, як писати, почитати форум, то знали б: принципова позиція журі -- публікувати всі матеріали олімпіади (не лише тести), але після завершення 4-го туру.
Пойміть таку просту річ, що журі теж люди і нас стомлюють десятки примірників одного й того самого питання, на яке десять разів вже дали відповідь, і забезплатно робити це ще й водинадцятеро вже нецікаво.
Дякую LeonID за конструктивну пропозицію. Думаю, якщо розв'язки й не на паскалі, то аналогічні дії зможе зробити хтось інший.
Відредаговано Ilya Porublyov (2010-01-06 09:19:26)
Поза форумом
1.
pilya написав:
Но у Пупкина есть волосатая лапа
Это единственный человек который не сдав задачу полиндром получил за нее полный бал
Обижаешь, начальник!
Вася сдал задачу, инче ни одного балла не получил бы ни один участник :-)
Другое дело, что перед самой проверкой.
Думаю, излишне напоминать, что В.Пупкин (настоящий) это жюри NetOI - авторы задач.
2. Полностью солидарен с И.Н. Порублевым. Читайте форум. Буду благодарен, есои кто-то создаст FAQ (в виде ссылок, а мы потом это вопросы-ответы в одну тему соберем. Физически некогда все сделать самому.
Поза форумом
Поза форумом
program Queen; {$APPTYPE CONSOLE} var w, h, k, I, a, b, KOstan, KRah, EndX, EndY, X, Y: LongInt; mass: array [1..26, 1..99] of Boolean; num: array [1..26, 1..99] of LongInt; KN: array [0..3000] of LongInt; N: array [1..2, 0..3000, 1..3000] of LongInt; function Pusto(X, Y: LongInt): Boolean; begin Pusto := False; if (X >= 1) and (X <= w) and (Y >= 1) and (Y <= h) then Pusto := not mass[X, Y]; end; function Stat(StatX, StatY: LongInt): LongInt; var I: LongInt; begin I := 1; while Pusto(X + StatX * I, Y + StatY * I) do begin num[X + StatX * I, Y + StatY * I] := KRah; mass[X + StatX * I, Y + StatY * I] := True; Inc(KN[KRah]); N[1, KRah, KN[KRah]] := X + StatX * I; N[2, KRah, KN[KRah]] := Y + StatY * I; Inc(I); end; Stat := I - 1; end; begin KN[0] := 1; read(w, h, N[1, 0, 1], N[2, 0, 1], EndX, EndY, k); for I := 1 to k do begin read(a, b); mass[a, b] := True; end; if (N[1, 0, 1] = EndX) and (N[2, 0, 1] = EndY) then begin Write(0); Exit; end; KRah := 0; KOstan := 1; while (KOstan > 0) and (num[EndX, EndY] = 0) do begin KOstan := 0; Inc(KRah); for I := 1 to KN[KRah - 1] do begin X := N[1, KRah - 1, I]; Y := N[2, KRah - 1, I]; KOstan := KOstan + Stat(-1, -1) + Stat(-1, 0) + Stat(-1, +1) + Stat( 0, -1) + Stat( 0, +1) + Stat(+1, -1) + Stat(+1, 0) + Stat(+1, +1); end; end; if KOstan = 0 then Write(-1) else Write(KRah); end.
Хтось казав, що зможе знайти контрприклади для коду написаному на паскалі...
Поза форумом