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

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво
Безлимитный хостинг, бесплатный домен, бесплатный хостинг, Хостинг, dedicated, сервер, хостинг в Европе, хостинг в Германии, выделенный сервер

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

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


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


Відредаговано: W-w-W - Пт, 08.01.2016, 00:28
swetikccc Дата: Нд, 12.02.2017, 08:39 | Повідомлення № 286
Ветеран спілкування
Повідомлень: 3724
Нагороди: 23
Рейтинг: 326
У нас в області учень 8 клас 100% рішення обох турів.
Цікаво, скільки процентів вчителів інформатикі розв'зуть ну одну задачу?:-)

Дівчинка.


Відредаговано: swetikccc - Нд, 12.02.2017, 08:43
fox11 Дата: Нд, 12.02.2017, 10:04 | Повідомлення № 287
Тут живе...
Повідомлень: 157
Нагороди: 2
Рейтинг: 15
Цитата swetikccc ()
У нас в області учень 8 клас 100% рішення обох турів.
Респект, если все без "научных руководителей" среди членов жюри или во время решения. Плавали.
Bandalak Дата: Нд, 12.02.2017, 10:31 | Повідомлення № 288
Лідер форуму
Повідомлень: 5175
Нагороди: 34
Рейтинг: 240
Цитата Bandalak ()
Шановні панове, у кого олімпіада відбувалася у два тури, викладіть будь-ласка завдання другого туру. Тому що у деяких областях обмежилися одним туром, але цікаво знати, що було у другому турі!
gromko Дата: Пн, 13.02.2017, 14:57 | Повідомлення № 289
Лінуксоїд
Повідомлень: 2391
Нагороди: 20
Рейтинг: 290
Задача: Визначити, чи знаходиться дана точка всередині многокутника з числом вершин n
Координати вершин многокутника задані у текстовому файлі, де перший рядок - кількість вершин, кожна наступна пара рядків - координати вершини x та у
Координати лежать в межах -100..100.
Bandalak Дата: Пн, 13.02.2017, 15:26 | Повідомлення № 290
Лідер форуму
Повідомлень: 5175
Нагороди: 34
Рейтинг: 240
Цитата gromko ()
перший рядок - кількість вершин, кожна наступна пара рядків - координати вершини x та у

Ще десь мають задаватися координати шуканої точки.

Таку задачу у 1997 році давали на обласній олімпіаді у Чернівецькій області.
Мій учень зробив її графічно на Бейсику.
1. Нормалізував координати вершин та координати шуканої точки під систему координат графічного режиму;
2. Накреслив лініями многокутник;
3. Залив його кольором лінії;
4. Зробив пробу кольору у шуканій точці;
5. Якщо колір дорівнює кольору фігури - то належить, інакше - не належить!

Задачу йому зарахували, але трішки менше чим на максимальний бал.

Цю ж задачу інші учасники розв'язали математично. Вже не пам'ятаю алгоритму. Треба подумати.
Пилипчук_О_П Дата: Пн, 13.02.2017, 16:36 | Повідомлення № 291
Ветеран спілкування
Повідомлень: 3578
Нагороди: 27
Рейтинг: 272
Цитата gromko ()
Визначити, чи знаходиться дана точка всередині многокутника з числом вершин n

Класична задача. Треба з'ясувати, скільки сторін перетинає відрізок, один кінець якого - дана точка, а інший - гарантовано за межами многокутника. Якщо кількість непарна, то точка знаходиться всередині. Тільки робити треба акуратно, щоб двічі одну точку перетину не порахувати. Якщо відрізок пройде через вершину, то краще взяти інший відрізок.


Відредаговано: Пилипчук_О_П - Пн, 13.02.2017, 16:39
swetikccc Дата: Пн, 13.02.2017, 18:32 | Повідомлення № 292
Ветеран спілкування
Повідомлень: 3724
Нагороди: 23
Рейтинг: 326
Цитата Пилипчук_О_П ()
Класична задача. Треба з'ясувати, скільки сторін перетинає відрізок, один кінець якого - дана точка, а інший - гарантовано за меж многокутника. Якщо кількість непарна, то точка знаходиться всередині. Тільки робити треба акуратно, щоб двічі одну точку перетину не порахувати. Якщо відрізок пройде через вершину, то краще взяти інший відрізок.
Як просто


Відредаговано: swetikccc - Пн, 13.02.2017, 18:46
Пилипчук_О_П Дата: Пн, 13.02.2017, 19:37 | Повідомлення № 293
Ветеран спілкування
Повідомлень: 3578
Нагороди: 27
Рейтинг: 272
Проста ідея, а реалізація вимагає вільного володіння планіметрією. Відповісти, чи перетинаються відрізки, задані координатами кінців, учням не так вже й просто...
Oxana_cher Дата: Пн, 13.02.2017, 20:31 | Повідомлення № 294
Місцева кадра
Повідомлень: 371
Нагороди: 2
Рейтинг: 42
Нужно для каждой грани сложить уравнение прямой, проходящнй через две точки. Потом развязывать поочередно системы уравнений каждой грани и прямой, проходящей через точку.

Відредаговано: Oxana_cher - Пн, 13.02.2017, 20:32
Bandalak Дата: Пт, 17.02.2017, 12:50 | Повідомлення № 295
Лідер форуму
Повідомлень: 5175
Нагороди: 34
Рейтинг: 240
Математика.Укр — Олімпіада з програмування - запрошення до участі
Подробнее
Запрошуємо Вас, прийняти участь у онлайн-олімпіаді "Програмування для початківців".



Запитання можна надсилати за адресою: osvita@primat.org
fox11 Дата: Сб, 15.04.2017, 16:45 | Повідомлення № 296
Тут живе...
Повідомлень: 157
Нагороди: 2
Рейтинг: 15
Кто решал эту задачку?
В e-olimp выдает 76%
Помогите.

Купівля квітів (100 б)
На День учителя Вася вирішив купити букет квітів. У магазині продаються ромашки по a рублів за штучку ігладіолуси по b рублів за штучку (a< b).У Васі є c рублів. Він хоче скласти букет з максимально можливої кількості квітів, і при цьому витратити якомога більше грошей. Іншими словами, зі всіх букетів з максимально можливою кількістю квітів він хоче вибрати найдорожчий, але не дорожче c рублів. Допоможіть йому обчислити вартість такого букету.
Вхідні дані Три цілі числа a, b, c (1a < b100, 0c1000).
Вихідні дані Виведіть одне число - вартість найдорожчого букету з максимальної кількості квітів.
·       Ліміт часу 1 секунда
·       Ліміт використання пам'яті 64 MiB
Вхідні дані #1  2 3 11         Вихідні дані #1 11
Вхідні дані #2  3 5 10         Вихідні дані #2 9

Решение
int a, b, c;
cin>>a>>b>>c;
if (c%a<b-a)
cout<<c/a*a;
else
cout<<c/a*a-a+b;


Відредаговано: fox11 - Сб, 15.04.2017, 16:57
Пилипчук_О_П Дата: Сб, 15.04.2017, 17:15 | Повідомлення № 297
Ветеран спілкування
Повідомлень: 3578
Нагороди: 27
Рейтинг: 272
Цитата fox11 ()
Купівля квітів (100 б)

Я не розв'язував, але думаю так.
Остачі від купівлі найдешевших квітів може вистачити на те, щоб обміняти якусь кількість дешевих на дорожчі:

Код
int a, b, c;
cin>>a>>b>>c;
cout<<c/a*a+c%a/(b-a)*(b-a);


Лінійні алгоритми "рулять"!


Відредаговано: Пилипчук_О_П - Сб, 15.04.2017, 17:15
fox11 Дата: Нд, 16.04.2017, 11:34 | Повідомлення № 298
Тут живе...
Повідомлень: 157
Нагороди: 2
Рейтинг: 15
Цитата Пилипчук_О_П ()
Я не розв'язував, але думаю так.
Спасибо. Уже лучше, стало 84%.
swetikccc Дата: Нд, 16.04.2017, 21:03 | Повідомлення № 299
Ветеран спілкування
Повідомлень: 3724
Нагороди: 23
Рейтинг: 326
Цитата Пилипчук_О_П ()
Лінійні алгоритми "рулять"!
Дійсно рулить, але не працює коли у нас грошей навіть на одну найдешевшу квіточку зась.
Прийдеться використати як доповнення розгалудження.
LVV Дата: Пн, 17.04.2017, 10:22 | Повідомлення № 300
Прописаний назавжди
Повідомлень: 409
Нагороди: 5
Рейтинг: 102
Цитата fox11 ()
На День учителя Вася вирішив купити букет квітів. У магазині продаються ромашки по a рублів за штучку ігладіолуси по b рублів за штучку (a< b).У Васі є c рублів. Він хоче скласти букет з максимально можливої кількості квітів, і при цьому витратити якомога більше грошей. Іншими словами, зі всіх букетів з максимально можливою кількістю квітів він хоче вибрати найдорожчий, але не дорожче c рублів. Допоможіть йому обчислити вартість такого букету.Вхідні дані Три цілі числа a, b, c (1 ≤ a < b ≤ 100, 0 ≤ c ≤ 1000).
Вихідні дані Виведіть одне число - вартість найдорожчого букету з максимальної кількості квітів.
Цитата Пилипчук_О_П ()
Остачі від купівлі найдешевших квітів може вистачити на те, щоб обміняти якусь кількість дешевих на дорожчі:
Цитата swetikccc ()
Дійсно рулить, але не працює коли у нас грошей навіть на одну найдешевшу квіточку зась.


Нужно учесть три фактора:
1) денег у Васи может оказаться меньше, чем стоит самый дешевый цветочек
2) количество возможных обменов дешевых цветов на дорогие может оказаться больше, чем , чем дешевых цветков в букете
3) "День учителя" не траурный праздник, а значит цветов в букете должно быть нечетное количество.

Идеальным было бы такое решение:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,n,res;
cin >> a >> b >> c;

n=c/a;

if (n==0) res = 0;
else if (n%2!=0) res = n*a + min(n,c%a / (b-a)) * (b-a);
else res = (n-1)*a + min((n-1),(c%a+a)/(b-a))*(b-a);

cout << res ;

return 0;
}


Но, к сожалению, автор задачи, считает, что на День учителя можно дарить и четное количество цветов (и где-то он прав :) )
Поэтому 100% решением задачи "Купівля квитків" будет следующий код:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,n,res;
cin >> a >> b >> c;

n=c/a;

if (n==0) res = 0;
else res = n*a + min(n,c%a / (b-a)) * (b-a);

cout << res ;

return 0;
}


Вот Вам и задачи из технологий, для которых математика "не нужна". :) :) :)


Відредаговано: LVV - Пн, 17.04.2017, 10:52
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Олімпіадні задачі. (розв’язування олімпіадних задач.)
Сторінка 20 з 21«1218192021»
Пошук:


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