Результати турніру "Цікава математика"

Зведена таблиця результатів

Учасник\Тест Bertran Pieces Shifts Summa
0076_Богдан Потапський 30 30 35 95
0085_Дмитро Ігнатенко 30 30 35 95
0095_Максим Ляшук 30 25 35 90
0536_Артур Павленко 30 25 35 90
0045_Роман Франчук 22 30 35 87
1043_Люба Ярушинська 30 25 10 65
1178_Дмитро Шор 0 35 30 65
0598_Володимир Братащук 2 15 35 52
0730_Ксенія Миколаївна 20 30 0 50
1126_Юшко Олег 30 0 0 30
0049_Роман Гусар 12 0 0 12
0330_Олена Болкун 0 0 0 0

 

Результати тестів по задачі "Bertran"

Учасник\Тест 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 Sum
0045_Роман Франчук + + + + + + + + + + + - - - - 22,0
0049_Роман Гусар - + + + + + + - - - - - - - - 12,0
0076_Богдан Потапський + + + + + + + + + + + + + + + 30,0
0085_Дмитро Ігнатенко + + + + + + + + + + + + + + + 30,0
0095_Максим Ляшук + + + + + + + + + + + + + + + 30,0
0330_Олена Болкун w w w w w w w w w w w w w w w 0,0
0536_Артур Павленко + + + + + + + + + + + + + + + 30,0
0598_Володимир Братащук + - - - - - - - - - - - - - - 2,0
0730_Ксенія Миколаївна + + + + + + + + + + - - - - - 20,0
1043_Люба Ярушинська + + + + + + + + + + + + + + + 30,0
1126_Юшко Олег + + + + + + + + + + + + + + + 30,0
1178_Дмитро Шор N N N N N N N N N N N N N N N 0,0

 

Результати тестів по задачі "Pieces"

Учасник\Тест 01 02 03 04 05 06 07 Sum
0045_Роман Франчук + - + + + + + 30,0
0049_Роман Гусар N N N N N N N 0,0
0076_Богдан Потапський + - + + + + + 30,0
0085_Дмитро Ігнатенко + + + - + + + 30,0
0095_Максим Ляшук + - + - + + + 25,0
0330_Олена Болкун N N N N N N N 0,0
0536_Артур Павленко + + - - + + + 25,0
0598_Володимир Братащук - + + - - + - 15,0
0730_Ксенія Миколаївна - + + + + + + 30,0
1043_Люба Ярушинська + + - - + + + 25,0
1126_Юшко Олег N N N N N N N 0,0
1178_Дмитро Шор + + + + + + + 35,0

 

Результати тестів по задачі "Shifts"

Учасник\Тест 01 02 03 04 05 06 07 Sum
0045_Роман Франчук + + + + + + + 35,0
0049_Роман Гусар N N N N N N N 0,0
0076_Богдан Потапський + + + + + + + 35,0
0085_Дмитро Ігнатенко + + + + + + + 35,0
0095_Максим Ляшук + + + + + + + 35,0
0330_Олена Болкун N N N N N N N 0,0
0536_Артур Павленко + + + + + + + 35,0
0598_Володимир Братащук + + + + + + + 35,0
0730_Ксенія Миколаївна N N N N N N N 0,0
1043_Люба Ярушинська + + - - - - - 10,0
1126_Юшко Олег N N N N N N N 0,0
1178_Дмитро Шор - + + + + + + 30,0

 

Легенда:
T - перевищений ліміт часу
W - помилка вводу-виводу, використання модуля Crt.
R - помилка виконання
N - відсутній розв'язок
P - штраф за виведення лишнього символа або рядка

Авторські розв"язки

Bertran

Автор Потапський Богдан

 
 Program io;
 var
 l,n,k,Check1,Check2,SqRoot,Temp,FoundCount: LongInt;
 f1,f2: Boolean;
 f:text;
begin
   assign(f,'input.txt');reset(f);
          ReadLn(f,n);
   close(f);
   assign(f,'output.txt');rewrite(f);
   if n=2 then begin write(f,1);close(f);halt;end;
          FoundCount:=0;
          l:=(2*n) div 6;
         For k:=1 to l do begin
            Check1:=6*k-1;
            Check2:=6*k+1;
  if (Check1>n)and(Check1<2*n)then f1:=True else f1:=False;
  if (Check2>n)and(Check2<2*n)then f2:=True else f2:=False;
            SqRoot:=Round(sqrt(6*k+1));
            For Temp:=2 to SqRoot do
              If (Check1 mod Temp)=0 then f1:=False;
            For Temp:=2 to SqRoot do
              If (Check2 mod Temp)=0 then f2:=False;
            If f1 then begin
              Inc(FoundCount);
              end;
            If f2 then begin
              Inc(FoundCount);
            end;
          end;
          Write(f,FoundCount);
          close(f);
        end.

	  

 

Pieces

Автор Шор Дмитро

type TPoint=record
            x,y:real;
            end;
var fi, fo:text;
    p0t, p1t, p2t, p3t:TPoint;
    t:real;
function min(xx, yy:real):real;
begin
     if xx<yy then min:=xx
              else min:=yy;
end;
function max(xx, yy:real):real;
begin
     if xx>yy then max:=xx
              else max:=yy;
end;
function peret(p0, p1, p2, p3:TPoint):boolean;
begin
    if p0.y<p1.y then begin
                          t:=p0.y; p0.y:=p1.y; p1.y:=t;
                          t:=p0.x; p0.x:=p1.x; p1.x:=t;
                     end;
    if p2.x<p3.x then begin
                          t:=p2.y; p2.y:=p3.y; p3.y:=t;
                          t:=p2.x; p2.x:=p3.x; p3.x:=t;
                     end;
     peret:=false;
     if((max(p0.x,p1.x)>=min(p2.x,p3.x)) and
        (max(p2.x,p3.x)>=min(p0.x,p1.x)) and
        (max(p0.y,p1.y)>=min(p2.y,p3.y)) and
        (max(p2.y,p3.y)>=min(p0.y,p1.y))) then
     if
       (((p2.x-p0.x)*(p1.y-p0.y)-(p1.x-p0.x)*(p2.y-p0.y))*
        ((p3.x-p0.x)*(p1.y-p0.y)-(p1.x-p0.x)*(p3.y-p0.y))<=0)
     then
     if
       (((p0.x-p2.x)*(p3.y-p2.y)-(p3.x-p2.x)*(p0.y-p2.y))*
        ((p1.x-p2.x)*(p3.y-p2.y)-(p3.x-p2.x)*(p1.y-p2.y))<=0)

        then peret:=true;
end;

begin
     assign (fi, 'input.txt');
     assign (fo, 'output.txt');
     reset (fi);
     rewrite (fo);
     readln (fi, p0t.x, p0t.y);
     readln (fi, p1t.x, p1t.y);
     readln (fi, p2t.x, p2t.y);
     readln (fi, p3t.x, p3t.y);
     close (fi);
     if peret(p0t, p1t, p2t, p3t) then writeln (fo,'Yes')
                                  else writeln (fo, 'No');
     close (fo);
end.
	 

 

Shifts

Автор Павленко Артур

program petrosyan;
TYpe
  sets=set of char;

Var s:string;
    l,k,b:integer; c:char;
    f1,f2:text;

procedure rec(se:sets;ss:string;deth:integer);
Var  i:integer;
begin
 if (deth>l) then writeln(f2,ss) else begin
 for i:=1 to l do
  if not(s[i] in se) then begin
    se:=se+[s[i]];
    rec(se,ss+s[i],deth+1);
    se:=se-[s[i]];
   end;
 end;
end;

begin
 Assign(f1,'input.txt');
 reset(f1);
 readln(f1,s);
 close(f1);
 Assign(f2,'output.txt');
 rewrite(f2);
 l:=length(s);
 rec([],'',1);
 close(f2)
end.
	 

Дані проклади розв’язків запропонованих задач є на мою думку кращими із тих, що написані на Паскалі. Всі ці програми отримали максимальну оцінку при моєму наборі тестів. Якщо ж хтось може запропонувати тест, що наведені тут програми видають неправильну відповідь, то прошу повідомити і я заміню зразок програми на одну із робіт учасників або свій варіант. Дані зразки публікуються для того, щоб ви могли познайомитися з іншими реалізаціями розв’язків задач, самостійно скласти тести та тестувати свої власні програми. Наші тести не можуть бути тут розміщеними через невелику квоту дискового простору сайту.