1 Востаннє редагувалося dobibobi (18.11.2015 00:17:49)

Тема: допоможіть будь ласка....задачи з олімпіади (паскаль)

будь-ласка розв'яжіть ці 3 задачі і скиньте їх розвязок .. а то задали на домашню.. я нічого не розумію..
буду Вам дуже вдячна .. будь ласка ..)
знайшла тільки те ..що ці задачі були на олімпіаді ..=_=...то можливо хтось розв'язував )

  • Задача A Цікава гра
    Мале Бісеня та Дракон полюбляють проводити дозвілля разом. Сьогодні вони грають в одну дуже цікаву гру.
    У них є дошка, що складається з N рядків та M стовпців, всі клітинки якої білі.
    Гравці по черзі вибирають одну білу клітинку та зафарбовують її в чорний колір. Бісеня ходить першим. Гравець, який не може зробити хід, тобто на початку ходу якого вся дошка чорна, програє.
    Погостривши зубки, Бісеня зрозуміло, що у Дракона велика перевага, адже він двоголовий, а, як то кажуть, «одна голова добре, а дві краще». Тому воно просить Вас допомогти. Вам потрібно сказати за заданими N та M, хто виграє у цій напруженій грі.
    BxiflHi дані:
    У єдиному рядку задані два цілих числа N та M - розміри дошки.
    Вихідні дані:
    Єдине  слово - «Imp»  (без лапок),  якщо переможе Бісеня  та «Dragon» (без лапок) , якщо переможе Дракон.
    Обмеження:
    1 <= N, М <= 100.
    Приклад вводу:
    7 4
    Приклад виводу:
    Dragon

  • Задача B Зуби
    Мале Бісеня любить гострити зуби. А Зла Тітонька любить до нього підходити і питатися: «Що, зуби гостриш?». Бісеняті таке не дуже подобається, тому воно придумало робити наступне.
    У Малого Бісеняти є N зубів. Кожен зуб має коефіцієнт загостреності Ai. Також існує межа загостреності K. Якщо коефіцієнт загостреності певного зуба є більшим чи рівним межі загостреності, то такий зуб вважається загостреним.
    Мале Бісеня хоче наступного разу, коли Зла Тітонька його щось запитає, показати їй якнайбільше загострених зубів, що йдуть підряд.
    Допоможіть Малому Бісеняті дізнатися, скільки найбільше зубів він зможе показати.
    У першому рядку задані два цілих числа N та K - кількість зубів та межа загостреності відповідно. В другому рядку задано N цілих чисел Ai - коефіцієнти загостреності зубів.
    Вихідні дані:
    Єдине ціле число - відповідь на задачу.
    Обмеження:
    1 < N <= 100000 (105) ,
    1 < K <= 1000000000 (109) ,
    1 < Ai <= 1000000000 (109) ,
    Гарантується, що не менше ніж у 80% тестів N <= 1000.
    Приклад вводу:
    7 4
    7 1 4 7 6 3 4
    Приклад виводу:
    3
    Пояснення:
    Зуби Малого Бісеняти виглядатимуть наступним чином:
    ˄∩˄˄˄∩˄
    ˄  - загострений зуб, ∩ - незагострений.
    Найбільша кількість зубів підряд - 3, тому відповідь - 3.

  • Задача C Вогняне дихання
    Одного разу Сеньйор розповів Дракону, що минулого вечора він K разів бачив над лісом дим. Як ви знаєте, диму без вогню не буває. Дракон пригадав, що вчора він гуляв лісом та час від часу заради розваги дмухав вогнем, як це інколи роблять всі поважні дракони. Всього Дракон дмухав вогнем у N точках. Сеньйору раптом стало цікаво - наскільки далеко він може побачити драконів дим?
    Нехай відстань, на яку видно дим - R. Тоді кожного разу, коли Дракон дмухає вогнем, дим можуть побачити лише ті, хто знаходиться на відстані не більшій ніж R від дракона.
    Знаючи координати хатинки Сеньйора, а також усіх місць, де дмухав вогнем Дракон, скажіть, яка найменша можлива відстань R, при якій Сеньйор міг бачити дим хоча б K разів.
    BxiflHi дані:
    У першому рядку вхідних даних задані два цілих числа X та Y -координати хатинки Сеньйора. У наступному рядку задані два цілих числа N та K. У наступних N рядках задані пари цілих чисел xi та yi - координати точок, в яких Дракон дмухав вогнем.
    Вихідні дані:
    В єдиному рядку виведіть найменше можливе значення R. Відповідь буде зарахованою, якщо її відносна або абсолютна похибка не перевищуватиме 10-7.
    Обмеження:
    1 <= N <= 100,
    1 <= K <= N,
    0 <= X, Y, xi, yi <= 1000000000 (109) .
    Приклад вводу:
    5    6
    4 2
    3 4
    8 11
    6    5
    17 25
    Приклад виводу:
    2.82842712

Post's attachments

завдання , паскаль.doc 51 kb, 423 downloads since 2015-11-17 

2

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

Який бюджет?

3

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

dobibobi
Якщо ви нічого не хочете робити самостійно, то пропоную перенести тему в розділ Пропоную роботу.

4

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

dobibobi написав:

будь-ласка розв'яжіть ці 3 задачі і скиньте їх розвязок .. а то задали на домашню.. я нічого не розумію..
буду Вам дуже вдячна .. будь ласка ..)
знайшла тільки те ..що ці задачі були на олімпіаді ..=_=...то можливо хтось розв'язував )

  • Задача A Цікава гра
    Мале Бісеня та Дракон полюбляють проводити дозвілля разом. Сьогодні вони грають в одну дуже цікаву гру.
    У них є дошка, що складається з N рядків та M стовпців, всі клітинки якої білі.
    Гравці по черзі вибирають одну білу клітинку та зафарбовують її в чорний колір. Бісеня ходить першим. Гравець, який не може зробити хід, тобто на початку ходу якого вся дошка чорна, програє.
    Погостривши зубки, Бісеня зрозуміло, що у Дракона велика перевага, адже він двоголовий, а, як то кажуть, «одна голова добре, а дві краще». Тому воно просить Вас допомогти. Вам потрібно сказати за заданими N та M, хто виграє у цій напруженій грі.
    BxiflHi дані:
    У єдиному рядку задані два цілих числа N та M - розміри дошки.
    Вихідні дані:
    Єдине  слово - «Imp»  (без лапок),  якщо переможе Бісеня  та «Dragon» (без лапок) , якщо переможе Дракон.
    Обмеження:
    1 <= N, М <= 100.
    Приклад вводу:
    7 4
    Приклад виводу:
    Dragon

  • Задача B Зуби
    Мале Бісеня любить гострити зуби. А Зла Тітонька любить до нього підходити і питатися: «Що, зуби гостриш?». Бісеняті таке не дуже подобається, тому воно придумало робити наступне.
    У Малого Бісеняти є N зубів. Кожен зуб має коефіцієнт загостреності Ai. Також існує межа загостреності K. Якщо коефіцієнт загостреності певного зуба є більшим чи рівним межі загостреності, то такий зуб вважається загостреним.
    Мале Бісеня хоче наступного разу, коли Зла Тітонька його щось запитає, показати їй якнайбільше загострених зубів, що йдуть підряд.
    Допоможіть Малому Бісеняті дізнатися, скільки найбільше зубів він зможе показати.
    У першому рядку задані два цілих числа N та K - кількість зубів та межа загостреності відповідно. В другому рядку задано N цілих чисел Ai - коефіцієнти загостреності зубів.
    Вихідні дані:
    Єдине ціле число - відповідь на задачу.
    Обмеження:
    1 < N <= 100000 (105) ,
    1 < K <= 1000000000 (109) ,
    1 < Ai <= 1000000000 (109) ,
    Гарантується, що не менше ніж у 80% тестів N <= 1000.
    Приклад вводу:
    7 4
    7 1 4 7 6 3 4
    Приклад виводу:
    3
    Пояснення:
    Зуби Малого Бісеняти виглядатимуть наступним чином:
    ˄∩˄˄˄∩˄
    ˄  - загострений зуб, ∩ - незагострений.
    Найбільша кількість зубів підряд - 3, тому відповідь - 3.

  • Задача C Вогняне дихання
    Одного разу Сеньйор розповів Дракону, що минулого вечора він K разів бачив над лісом дим. Як ви знаєте, диму без вогню не буває. Дракон пригадав, що вчора він гуляв лісом та час від часу заради розваги дмухав вогнем, як це інколи роблять всі поважні дракони. Всього Дракон дмухав вогнем у N точках. Сеньйору раптом стало цікаво - наскільки далеко він може побачити драконів дим?
    Нехай відстань, на яку видно дим - R. Тоді кожного разу, коли Дракон дмухає вогнем, дим можуть побачити лише ті, хто знаходиться на відстані не більшій ніж R від дракона.
    Знаючи координати хатинки Сеньйора, а також усіх місць, де дмухав вогнем Дракон, скажіть, яка найменша можлива відстань R, при якій Сеньйор міг бачити дим хоча б K разів.
    BxiflHi дані:
    У першому рядку вхідних даних задані два цілих числа X та Y -координати хатинки Сеньйора. У наступному рядку задані два цілих числа N та K. У наступних N рядках задані пари цілих чисел xi та yi - координати точок, в яких Дракон дмухав вогнем.
    Вихідні дані:
    В єдиному рядку виведіть найменше можливе значення R. Відповідь буде зарахованою, якщо її відносна або абсолютна похибка не перевищуватиме 10-7.
    Обмеження:
    1 <= N <= 100,
    1 <= K <= N,
    0 <= X, Y, xi, yi <= 1000000000 (109) .
    Приклад вводу:
    5    6
    4 2
    3 4
    8 11
    6    5
    17 25
    Приклад виводу:
    2.82842712

Можу познайомити вас з автором цих задач :)

Подякували: koala, bees2

5

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

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

Подякували: dobibobi1

6

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

Joker написав:

Можу познайомити вас з автором цих задач :)

А мене можеш?

7

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

щось дивні істоти в цих задачах

8

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

Задачки дуже цікаві, читаються легко, зрозумілі, розв`язав на ура для себе :)

Подякували: Torbins, Q-bart, koala3

9

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

в мене подібні програми є, подивися якщо не складно, можливо щось підкажеш мені http://replace.org.ua/topic/5729/

10

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

bees написав:

Задачки дуже цікаві, читаються легко, зрозумілі, розв`язав на ура для себе :)

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

11 Востаннє редагувалося VTrim (20.11.2015 14:45:40)

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

Задача 1.

$M = 10;
$N = 10;
$R = $M*$N;
echo ($R % 3) == 0 || $R == 2 ? 'Dragon': 'lmp';

Задача 2.

$N = 10;
$K = 5;

$arr = [];
$max = [];

for($i=0; $i<$N; $i++) 
 $arr[] = rand(0, 10);

$c = 0;
$count = count($arr);

foreach($arr as $val) {

echo $val;

  if($val>=$K) {

      $c++;

   } else {

     $max[] = $c;

     $c = 0;

   }

}

echo PHP_EOL.'Result:';

echo ($c == $count) ? $count : max($max);

12

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

VTrim написав:

Задача 1.

$M = 10;
$N = 10;
echo (($M*$N) % 3) == 0 ? 'Dragon' : 'lmp';

А якщо ввід буде 2 1?

Подякували: VTrim1

13 Востаннє редагувалося VTrim (20.11.2015 14:47:19)

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

quez написав:
VTrim написав:

Задача 1.

$M = 10;
$N = 10;
echo (($M*$N) % 3) == 0 ? 'Dragon' : 'lmp';

А якщо ввід буде 2 1?

Точно..

$M = 10;
$N = 10;
$R = $M*$N;
echo ($R % 3) == 0 || $R == 2 ? 'Dragon': 'lmp';

Можна хіба ще ввід нулів обробити..

14

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

VTrim написав:
quez написав:
VTrim написав:

Задача 1.

$M = 10;
$N = 10;
echo (($M*$N) % 3) == 0 ? 'Dragon' : 'lmp';

А якщо ввід буде 2 1?

Точно..

$M = 10;
$N = 10;
$R = $M*$N;
echo ($R % 3) == 0 || $R == 2 ? 'Dragon': 'lmp';

Можна хіба ще ввід нулів обробити..

А якщо буде ввід 4 4, якого костиля ви прикрутите?

15

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

quez написав:
VTrim написав:
quez написав:

А якщо ввід буде 2 1?

Точно..

$M = 10;
$N = 10;
$R = $M*$N;
echo ($R % 3) == 0 || $R == 2 ? 'Dragon': 'lmp';

Можна хіба ще ввід нулів обробити..

А якщо буде ввід 4 4, якого костиля ви прикрутите?

Ніякого,бісеня виграє,оскільки останнім заповнить квадрат.

16

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

Давайте рахувати. Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон і бісеняті немає куди ходити.

17 Востаннє редагувалося VTrim (20.11.2015 17:33:52)

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

quez написав:

Давайте рахувати. Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон - Бісеня - Дракон і бісеняті немає куди ходити.

В умові сказано,що дракон двоголовий (типу закреслює 2 клітинки,поки Бісеня одну. Я зрозумів так. І  саме тому перевіряю на кратність 3.

//сказано шо дві голови краще ніж одна
// хоча на початку сказано,що кожен зафарбовує по одній :)

18

Re: допоможіть будь ласка....задачи з олімпіади (паскаль)

Якщо ж для кожного один хід,то

$M = 4;
$N = 4;
$R = $M*$N;
echo ($R % 2) == 0 ? 'Dragon': 'lmp';