Пн, 11.12.2017, 15:00
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 23 з 24«1221222324»
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Олімпіадні задачі. (розв’язування олімпіадних задач.)
Олімпіадні задачі.
Ковальчук_Олександр Дата: Вт, 20.11.2007, 20:07 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3628
Нагороди: 17
Рейтинг: 197
Шановні учасники форуму! Скоро районна олімпіада по інформатиці. Допоможіть мені та іншим вчителям інформатикам, які погано розуміються на задачах олімпіадного рівня, підвищити свої знання в області програмування.

Увага! При публікуванні розв’язку обов’язково, окрім самої паскаль-програми писати математичну модель задачі і роз’яснювати ваш розв’язок максимально зрозуміло. Бо із самого тексту програм, не завжди все зрозуміло для пересічного інформатика. 


[admin]Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!


Відредаговано: W-w-W - Чт, 07.01.2016, 23:28
Bandalak Дата: Нд, 26.11.2017, 20:53 | Повідомлення № 331
Лідер форуму
Повідомлень: 5570
Нагороди: 39
Рейтинг: 260
Цитата fox11 ()

if (j+i) > 9:
break

Може
Код

if (j+p) > 9:
break

?
volodschool2 Дата: Нд, 26.11.2017, 23:01 | Повідомлення № 332
Досвідчений учасник
Повідомлень: 1386
Нагороди: 12
Рейтинг: 287
Наші олімпіадні задачі
skif Дата: Нд, 26.11.2017, 23:39 | Повідомлення № 333
Прописаний назавжди
Повідомлень: 392
Нагороди: 3
Рейтинг: 49
Львівська обл, задачі що рік то важчі. До D навіть не уявляю методу.
Прикріплення: document.pdf(117Kb)
Bandalak Дата: Нд, 26.11.2017, 23:55 | Повідомлення № 334
Лідер форуму
Повідомлень: 5570
Нагороди: 39
Рейтинг: 260
Цитата volodschool2 ()
Наші олімпіадні задачі

Класно, що у Вас можна тести побачити після олімпіади. У нас немає такої можливості!

Цитата skif ()
Львівська обл, задачі що рік то важчі. До D навіть не уявляю методу.

На цій олімпіаді, на мій погляд, найважчі задачі з тих що цього року тут викладали!
Ковальчук_Олександр Дата: Пн, 27.11.2017, 00:05 | Повідомлення № 335
Ветеран спілкування
Повідомлень: 3628
Нагороди: 17
Рейтинг: 197
Цитата skif ()
Львівська обл, задачі що рік то важчі. До D навіть не уявляю методу.
До задач А та В розв’язки є?
skif Дата: Пн, 27.11.2017, 00:17 | Повідомлення № 336
Прописаний назавжди
Повідомлень: 392
Нагороди: 3
Рейтинг: 49
Цитата Ковальчук_Олександр ()
До задач А та В розв’язки є?
нам розв'язків/роз'яснень ніколи не дають, хоч скільки років просимо хоча б про роз'яснення.
До А алгоритм такий (мій варіант):
1. Підготувати рядок - якщо сусідні символи повторюються, то залишити один;
2. Порахувати кількість символів, вивести

В. Потрібно визначити, які прямокутники перетинаються з найбільшою площею перетину.
max - найб площа
1. Беремо перший (блакитний) і по черзі порівнюємо з жовтим (якщо площа бл. і жвт. >max).
2. Якщо перетинаються - площу в maх, номери в n, k;
3. Переходимо до наступного блакитного;


Відредаговано: skif - Пн, 27.11.2017, 00:21
fox11 Дата: Пн, 27.11.2017, 18:04 | Повідомлення № 337
Тут живе...
Повідомлень: 196
Нагороди: 2
Рейтинг: 30
Цитата Bandalak ()
МожеКод

if (j+p) > 9:
break
Так.
gromko Дата: Пн, 27.11.2017, 21:15 | Повідомлення № 338
Лінуксоїд
Повідомлень: 2698
Нагороди: 27
Рейтинг: 353
Цитата skif ()
До D навіть не уявляю методу.

Цікава топологічна задача, але оскільки доведення не вимагається, то шляхом логічних міркувань приходимо до наступного(r - кількість вільних "хвостів"):
якщо n=1, то при m=1, r=3, при m=2, r=2, при m=3, r=3, при m=4, r=2, при m=5, r=3, і т.д. тобто якщо m - непарне, маємо 3 "хвости", якщо m - парне, маємо 2 "хвости"
якщо n=2, то при m=1, r=2, при m>=2, r=0
якщо n=3, то при m=1, r=3, при m>=2, r=0
якщо n=4, то при m=1, r=2, при m>=2, r=0
ТОБТО НІЧОГО РАХУВАТИ НЕ ПОТРІБНО
алгоритм зрозумілий, програму можете скласти самі.
Ілюстрація:
Прикріплення: 3879228.png(126Kb)
Пилипчук_О_П Дата: Вт, 28.11.2017, 01:12 | Повідомлення № 339
Ветеран спілкування
Повідомлень: 3910
Нагороди: 30
Рейтинг: 352
Цитата gromko ()
приходимо до наступного(r - кількість вільних "хвостів"):

Теж думав, що там щось таке, що впирається в парність-непарність, а не в якийсь перебір. Плюс пану gromko (ілюстрація авторська?).


Відредаговано: Пилипчук_О_П - Вт, 28.11.2017, 01:13
gromko Дата: Вт, 28.11.2017, 01:34 | Повідомлення № 340
Лінуксоїд
Повідомлень: 2698
Нагороди: 27
Рейтинг: 353
Цитата Пилипчук_О_П ()

Теж думав, що там щось таке, що впирається в парність-непарність, а не в якийсь перебір. Плюс пану gromko (ілюстрація авторська?).

Маю гріх - люблю "заковиристі" задачі. Ілюстрацію зробив у LibreOffice
Bandalak Дата: Вт, 28.11.2017, 12:26 | Повідомлення № 341
Лідер форуму
Повідомлень: 5570
Нагороди: 39
Рейтинг: 260
Зрозуміти правильно умову задачі - це 50% розв'язку!
Bandalak Дата: Вт, 28.11.2017, 20:35 | Повідомлення № 342
Лідер форуму
Повідомлень: 5570
Нагороди: 39
Рейтинг: 260
Цитата Bandalak ()
По задачі С

Ось цікавий розв'язок від мого колєги:

Код
var
  i, n, m, k, t: Integer;
  a: array [1..9] of Integer;
  r: set of 1..54;
begin
  Read(n); r:=[1..54];
  for i:=1 to n do begin
    Read(t);
    if t in r then begin
      case t of
        1..36: Inc(a[1+(t-1) div 4]);
        37..54: Inc(a[(56-t) div 2]);
      end;
      Exclude(r,t);
    end;
  end;
  for i:=1 to 9 do begin
    if a[i]=6 then Inc(k) else k:=0;
    if m<k then m:=k;
  end;
  WriteLn(m);
end.


Хоча мені здається, що множини тут лишні, адже вільні місця у списку і так не повторюються.
А все інше - дуже красиво!

На мій погляд і так буде працювати:
Код
var
  i, n, m, k, t: Integer;
  a: array [1..9] of Integer;
begin
  Read(n);
  for i:=1 to n do
   begin
    Read(t);
      case t of
        1..36: Inc(a[1+(t-1) div 4]);
        37..54: Inc(a[(56-t) div 2]);
      end;
   end;
  for i:=1 to 9 do
   begin
    if a[i]=6 then Inc(k) else k:=0;
    if m<k then m:=k;
   end;
  WriteLn(m);
end.
gromko Дата: Вт, 28.11.2017, 21:20 | Повідомлення № 343
Лінуксоїд
Повідомлень: 2698
Нагороди: 27
Рейтинг: 353
Який максимальний вік можна показати за допомогою пальців однієї руки? 5 років? Ні, ви помиляєтесь...
Bandalak Дата: Вт, 28.11.2017, 23:10 | Повідомлення № 344
Лідер форуму
Повідомлень: 5570
Нагороди: 39
Рейтинг: 260
30
swetikccc Дата: Ср, 29.11.2017, 09:10 | Повідомлення № 345
Ветеран спілкування
Повідомлень: 3973
Нагороди: 28
Рейтинг: 380
Цитата Bandalak ()
30
Чому 30?
32
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Олімпіадні задачі. (розв’язування олімпіадних задач.)
Сторінка 23 з 24«1221222324»
Пошук:


© Форум інформатиків України, 2007-2017.