Детёныши ВП

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Детёныши ВП » Прошедшие олипиады » Личная олимпиада 21/05/2011(подготовленна олимпиадниками)


Личная олимпиада 21/05/2011(подготовленна олимпиадниками)

Сообщений 1 страница 8 из 8

1

Задача А
   "Клетки под боем"     
     
Ограничения времени 1 секунда
Входной файл input.txt
Выходной файл output.txt

            Петя с детства увлекается игрой в шахматы.Но на этой неделе все его знакомые шахматисты разъехались,и играть ему стало не с кем.Поэтому он решил научить вас играть в шахматы.На его взгляд,чтобы полностью постигнуть искусство игры,начинать нужно с малого.А именно научится вычислять количество клеток под боем.
            Вас не сильно захватывает перспектива считать клетки на шахматном поле. Поэтому вы решили составить программу,которая поможет вам по заданному числу N-размерам квадратной шахматной доски N*N,а также расположению 4 коней и 1 ферзя определись количество клеток под боем.

Клетки занятые фигурами не учитывать!

Входные данные
В первой строке вводится единственное число(N<1000) - размер поля.
Вторая строка содержит числа x1,y1,x2,y2,x3,y3,x4,y4 - расположение коней.
В третьей строке находятся числа x и y -координаты ферзей.

Выходные данные
Единственное число количество клеток под боем

Input.txt                                                       Output.txt
5                                                                           13 
2 2 3 4 5 1 5 5
1 1

Задача С
   "НОД и НОК"     
     
Ограничения времени 1 секунда
Входной файл input.txt
Выходной файл output.txt

  Петя увлекается программированием. Однажды учитель задал ему ему на дом задачку. Условие в ней очень простое :"Дано число. Требуется вывести сначала НОД всех  делителей."
Помогите Пете решить задачу.

Входные данные
В первой и единственной строке дано число N(N<1000)

Выходные данные
Выведите сначала в порядке возрастание НОД всех пар делителей ,затем в порядке возрастание НОК всех делителей.

ВЫВОДИТЬ НУЖНО ПО ОДНОМУ ЧИСЛУ В СТРОКЕ!

Input.txt                                                       Output.txt
4                                                                             1(НОД 1 и 4)
(делители:1 2 4)                                                      1(НОД 1 и 2)
                                                                               2(НОД 4 и 2)
                                                                               4(НОК чисел 1 2 4)

Задача F
   "Пароль"     
     
Ограничения времени 1 секунда
Входной файл input.txt
Выходной файл output.txt

     Петя очень интересуется Байтландией.Недавно он наткнулся на один очень интересный факт.Код от  одной из дверей потайной комнаты определяется  определяется следующим образом: главный звездочёт Байтландии по звёздам определяет набор из N чисел потом его помощник сортирует их по возрастанию и записывает по кругу ,после этого вычёркивает каждое M-тое число,пока не останется всего одно число. Это число и есть пароль.
     Пете удалось добыть числа.Теперь его интересует вопрос:"Каковым будет очередной пароль?"
     Помогите Пете. Ну пожалуйста :)

Входные данные
Первая строка содержит число  N(N<1000).
Вторая строка содержит набор из N чисел, которые вам сообщил звездочёт  .
Третья строка содержит число М через какой промежуток чисел нужно вычёркивать число.

Выходные данные
Единственное число - пароль от комнаты.

Input.txt                                                       Output.txt
7(число N)                                                                   4(пароль) 
5 3 4 2 10 7 1(набор чисел)
3(число М)

+1

2

Объявление
Спасибо всем олимпиадникам подготовившим олимпиаду. Поздравляем Кускову Барбару
С первым согласен, а почему меня не поздравляют, я же первый?  :)
P.S. Написали бы поздравляем Кускову Барбару, Илью Медяникова и Илью Яковлева чтобы ему обидно не было. А вообще всем спасибо за участие!

0

3

А мне и не обидно, я думаю я занял своё место, так как вы с Барбарой ну всётаки круче меня

0

4

кстати кто как примерно решал задачу А

0

5

Ифами

0

6

ну да я примерно так же

0

7

Задача Е про поиск
решается где то так

Код:
var n, x, l, r, f, m, i,s: longint;
  a,b : array[1..1000] of longint;
 begin
 assign(input, 'input.txt'); reset(input);
  assign(output, 'output.txt'); rewrite(output);
  
 readln(n);
 
 for i := 1 to n do
         read(a[i]);
  
 readln(m);

for i:=1 to m do begin

readln(x);
l := 1; 
r := n; 
f := 0; 

while (f = 0) and (r >= l) do  
            begin
            s := (l + r) div 2; 
            if a[s] = x then
                     f := 1
                     
            else if a[s] > x then r := s - 1
                   else l := s + 1; 
            end;
            
if (f = 1) then
      b[i]:=s
           else
      b[i]:=-1;
      
end;

for i:=1 to m do writeln(b[i]);
      
end.

0

8

а задача С как то  так

Код:
var n,i,j,k,x,s,z:longint;
b,a:array [1..1000] of longint;

function nod( x,y:longint):longint;
begin

while (x>0) and (y>0) do
if x>y then x:=x mod y
       else y:=y mod x;
nod:=x+y;

end;

function nok(x,y:longint):longint;
var a:longint;
begin
a:=x*y;
nok:=a div nod(x,y);
end;

begin

assign(input, 'input.txt'); reset(input);
  assign(output, 'output.txt'); rewrite(output);
  
readln(n); 
i:=1;
k:=0;
while (i*i<n) do begin
if n mod i =0 then begin k:=k+1;
                         a[k]:=i;
                         k:=k+1;
                         a[k]:=n div i;
                    end;
i:=i+1;
end;
if n mod i =0 then begin
                   k:=k+1;
                   a[k]:=i;
                   end;
                   
                   
for i:=1 to k do
 for j:=1 to k do
 begin

 if (i<j) then begin  x:=x+1; b[x]:=nod(a[i],a[j]); end;
 end;
 
for i:=1 to x-1 do 
 for j:=1 to x-i do begin
                    if b[j]>b[j+1] then begin
                             z:=b[j]; b[j]:=b[j+1]; b[j+1]:=z;
                                    end;
         end;
s:=nok(a[1],a[2]);
for i:=3 to k do
s:=nok(s,a[i]);
for i:=1 to  x do writelN(b[i]);
writeln(s);
end.

0


Вы здесь » Детёныши ВП » Прошедшие олипиады » Личная олимпиада 21/05/2011(подготовленна олимпиадниками)