 |
Вітаю Вас, Гість · RSS |
 |
Учительська олімпіада!!!
| |
Sasyk |
Дата: Th, 15.11.2007, 16:22 | Повідомлення № 1 |
знаток тестуючих систем
Повідомлень: 300
| Пропоную скинути по одній цікавій задачі для віртуальної учительської олімпіади!!! Ці задачі скинути до кінця цього місяця... На розвязання задач дається 1 місяць. 1-го січня опублікувати на форумі розвязки задач вчителями: користувач - задача 1, розвязок... задача n, розвязок. і т д. А потім разом визначатимемо переможця... Автор завдання повинен розвязок задачі відправити адміністратору, який в кінці конкурсу всі розвязки опублікує для перевірки... Як вам така ідея???
Чув цікаву задачу Є 9 монет. Одна з них бракована, але вигляд має такий як усі. Відомо, що при її виготовленні в середині утворився повітряний отвір і важить вона менше за всі інші. Написати програму, яка б за 2 зважування визначала дану монету. Розпочав роботу раніше оголошеного терміну дистанційний курс навчання з розв'язування олімпадних задач для вчителів - учасників ( http://www.olymp.vinnica.ua/index_ua.php?lng=ua&cid=815 ) олімпіади. Теми курсу - свого роду "підказки" для розв'язку задач олімпіади з паралельними узагальненнями та доповненнями, що дозволить не лише розібратися з конкретною задачою, а й навчитися вирішувати цілий клас подібних задач. Сподіваюсь, це спровокує більш активну участь учителів в олімпіаді (всього 44 зареєстрованих, і то не всі є учителями :'( ). Для роботи з курсом: 1. Зареєструйтесь на http://disted.edu.vn.ua, зайдіть як зареєстрований учаксник 2. В меню КЛАСИ оберіть розділ ПОЗАКЛАСНА РОБОТА. ДИСТАНЦІЙНІ КУРСИ. Далі - МЕТОДИКА РІШЕННЯ ОЛІМПІАДНИХ ЗАДАЧ З ІНФОРМАТИКИ (курс для учителів). Питання найкраще задавати на форумі олімпіади http://forum.olymp.vinnica.ua. Можливі он-лайн консультації та відеотрансляції лекцій в реальному часі...були б бажаючі. Прошу адміністрацію форума розіслати це повідомлення всім, як приватне. Зареєстровані учасники отримають його поштою. Успіхів у навчанні!
[admin]Шановні форумчани!!!!! Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!
|
|
| |
dpi |
Дата: Mo, 11.02.2008, 15:18 | Повідомлення № 31 |
Досвідчений вчитель
Повідомлень: 1438
| Quote (Varkan) в залежності від результатів зважування залишаємо одну з трьох (тобто відкидаємо приблизно 1/3 монет) Так оставляем или выбрасываем 1/3 ? По тексту ниже видно, что отбрасываем 2/3 1 100:3=34 (заокр до більшого) 2 34:3=12 (заокр до більшого) 3 12:3=4 (заокр до більшого) Это что аксиома, или проверенный алгоритм? Мы же веса не знаем, тяжелее она или легче. _____ dpi
|
|
| |
Varkan |
Дата: Tu, 12.02.2008, 09:20 | Повідомлення № 32 |
Викладач ВУЗу
Повідомлень: 425
| Quote (dpi) Так оставляем или выбрасываем 1/3 ? По тексту ниже видно, что отбрасываем 2/3 так дійсно ми відкидаємо 2/3 (просто промахнувся по клавіші) Quote (dpi) 1 100:3=34 (заокр до більшого) 2 34:3=12 (заокр до більшого) 3 12:3=4 (заокр до більшого) Это что аксиома, или проверенный алгоритм? Мы же веса не знаем, тяжелее она или легче. показую на одному прикладі 100=33+33+34 на ваги кладемо тільки рівні кучки в такому випадку якщо їх вага однакова то фальшива монета в тій кучі що не важиться, а якщо ні то в тій яка легша (або важча) чому заокруглюємо до більшого? нам потрібно знайти за скілки зважувань ми точно знайдемо фальшиву не враховуючи елемент ймовірності (якшо його врахувати то відповідь буде завжди 1), а тому вважаємо що фальшива монета завжди попаде в більшу кучку (не потрібно заокруглювати тоді коли число монет ділиться націло на 3)
|
|
| |
dpi |
Дата: Fr, 15.02.2008, 12:26 | Повідомлення № 33 |
Досвідчений вчитель
Повідомлень: 1438
| Quote (Varkan) так дійсно ми відкидаємо 2/3 (просто промахнувся по клавіші) Но, если после 1 взвешивания весы не уравновешены, фальшивая среди 66-ти, не среди 34-х?
|
|
| |
oleg_teacher |
Дата: Sa, 16.02.2008, 11:55 | Повідомлення № 34 |
Любитель дискутувати
Повідомлень: 177
| Quote (dpi) Но, если после 1 взвешивания весы не уравновешены, фальшивая среди 66-ти почему только среди 33!!!
|
|
| |
dpi |
Дата: Sa, 16.02.2008, 12:06 | Повідомлення № 35 |
Досвідчений вчитель
Повідомлень: 1438
| На одни весы положили 33, на другие - 33, весы перекосились -> значит фальшивая среди них, среди 66.
|
|
| |
oleg_teacher |
Дата: Sa, 16.02.2008, 13:34 | Повідомлення № 36 |
Любитель дискутувати
Повідомлень: 177
| Quote (dpi) На одни весы положили 33, на другие - 33, весы перекосились -> значит фальшивая среди них, среди 66. серед 33, в яку сторону перекосилися серед тих і фальшива
|
|
| |
Bandalak |
Дата: Sa, 16.02.2008, 16:04 | Повідомлення № 37 |
Лідер форуму
Повідомлень: 6386
| Quote (oleg_teacher) серед 33, в яку сторону перекосилися серед тих і фальшива Ми ж не знаємо чи легша фальшива від нормальної, чи важча!Добавлено (16.02.2008, 16:04) ---------------------------------------------
Quote (oleg_teacher) Тут ы заокруглювати не тра!!! З 12 монет можна знайти за 3 зважування!
|
|
| |
KulAlex |
Дата: Su, 17.02.2008, 08:36 | Повідомлення № 38 |
Знаток програмування
Повідомлень: 326
| Взагалі ця задача є досить важкою. А що стосується 12 монет, то за 3 зважування і визначається легша вона ви важча. Загального алгоритму розвязання цієї задачі не має, бо є винятки 12, 13, 27 і т.д. А спробуйте таку задачу: Із стандартного вхідного потоку вводиться натуральне число R (1<=R<=20000). Вивести у стандартний вихідний потік число k, яке є кількістю точок з цілочисловими координатами, що потрапляють у коло радіуса R з центром у початку координат.
|
|
| |
Varkan |
Дата: Mo, 18.02.2008, 08:43 | Повідомлення № 39 |
Викладач ВУЗу
Повідомлень: 425
| Quote (Bandalak) Ми ж не знаємо чи легша фальшива від нормальної, чи важча! це має вказуватись в умові задачі
|
|
| |
dpi |
Дата: Mo, 18.02.2008, 14:09 | Повідомлення № 40 |
Досвідчений вчитель
Повідомлень: 1438
| Quote (KulAlex) Із стандартного вхідного потоку вводиться натуральне число R (1<=R<=20000). Вивести у стандартний вихідний потік число k, яке є кількістю точок з цілочисловими координатами, що потрапляють у коло радіуса R з центром у початку координат. #include <iostream> #include <cmath> using namespace std; int main () { int k=0,R,i,j,m; float a=0.0,b=0.0, c; cout << "Vvedi R - "; cin >>R; for (i=-R+1;i<R;i++) for (j=-R+1;j<R;j++) { if (pow((i * i + j * j),.5) < R) k++; } cout << "Otvet: "<<k<<endl; system ("PAUSE"); return 0; }Добавлено (18.02.2008, 14:09) ---------------------------------------------
Quote (dpi) float a=0.0,b=0.0, c; эта строка вкралась випадково её надо убрать.
|
|
| |
KulAlex |
Дата: Mo, 18.02.2008, 14:44 | Повідомлення № 41 |
Знаток програмування
Повідомлень: 326
| Якщо вважати, що це розділ "Учительська олімпіада!!!", то Ви набрали 0 балів, у Вас лишній вивід на екран, а в задачі цього не проситься. Quote (dpi) cout << "Vvedi R - "; Quote (dpi) cout << "Otvet: "<<k<<endl; Кілька зауважень: 1. Якщо точка лежить на колі, то вона задовільняє умові задачі, а у Вас це незроблено. 2. А спробуйте вказати r=20000, скільки це займе часу для Вашої задачі (я спробував, замучився чекати).
|
|
| |
badm |
Дата: Mo, 18.02.2008, 17:21 | Повідомлення № 42 |
Знаток програмування
Повідомлень: 185
| можливо існує формульна залежності, або записати дані у файл а потім перенести у масив (але це 20 000 чисел?) при 20 000 в час ніяк не можна при такому алгоритмі вписатися. P.S. Але це всього на всього задача районого рівня олімпіади на 15 балів у 2006 р.
|
|
| |
Bandalak |
Дата: Tu, 19.02.2008, 01:43 | Повідомлення № 43 |
Лідер форуму
Повідомлень: 6386
| Quote (KulAlex) це має вказуватись в умові задачі Якраз в умові сказано, що це перед зважуванням Н Е В І Д О М О !!!
|
|
| |
KulAlex |
Дата: Tu, 19.02.2008, 07:54 | Повідомлення № 44 |
Знаток програмування
Повідомлень: 326
| Quote (Bandalak) Цитата (KulAlex ) це має вказуватись в умові задачі Якраз в умові сказано, що це перед зважуванням Н Е В І Д О М О !!! Це не мої слова, це слова Varkan. Прикольно, глюки інета, вибачте що не по темі Добавлено (19.02.2008, 07:54) --------------------------------------------- Задачі на зважування, і там про 12 монет і про 13. http://golovolomka.hobby.ru/weight.shtml
|
|
| |
Varkan |
Дата: Tu, 19.02.2008, 10:45 | Повідомлення № 45 |
Викладач ВУЗу
Повідомлень: 425
| Quote (Bandalak) Якраз в умові сказано, що це перед зважуванням Н Е В І Д О М О !!! тоді додається ще одне контрольне зважування. наприклад маємо тих же 100 монет 33+33+34 якщо 33 по вазі = 33 то все зрозуміло тепер 33 по вазі не=33 отже фальшива монета або в першій 33 або в другій 33 чи лекша чи важча невідомо. значить 34 монети які залишилися всі не фальшиві. використовуємо їх як еталон беремо з них будь які 33 монети і зважуємо з першими 33. 1. якщо вони рівні то фальшива в других 33 монетах. причому якшо перша 33 була важча за другу то фалива монета лекша, якщо перші 33 були легші за другі то фальшива монета важча. 2. якщо вони нерівні то фальшива монета в перших 33. і аналогічно знаходимо чи важча фальшива, чи вона легша. а далі знаючи чи фальшива монета важча чи легша діємо по алгоритму. контрольне зважування приміняємо у потрібний нам момент Добавлено (19.02.2008, 10:45) ---------------------------------------------
Quote (KulAlex) 2. А спробуйте вказати r=20000, скільки це займе часу для Вашої задачі (я спробував, замучився чекати). коло - фігура симетрична відносно осей і відносно початку координат, так шо можна просто підрахувати точки в одному з секторів який утворює чверть і помножити на чотири, це скоротить термін виконання у чотири рази. for x:=0 to r do for y:=1 to r do if sqrt(x*x+y*y)<=r then k:=k+1; k:=4*k+1;
|
|
| |
© Форум інформатиків України, 2007-2022.  |