Dead Jay
Братег Дракончег
offline
Опыт:
8,475Активность: |
Несколько заданий для любителей инфоматики
Что делает данный алгоритм?
алгоритм ДУМА(целые: n,k)
начало алгоритма n:=0 i:=0 цикл:пока i < k выполнить: n:=n + 2*i + 1 i:=i+1 конец цикла конец алгоритма Ответ обосновать. (Предполагается, что на вход алгоритма подаются два целых числа – n и k. Считать, что переменная i является целочисленной.)
Коля загадал натуральное число от 1 до 30, а Петя пытается угадать его. Для этого Петя задает Коле несколько вопросов, на каждый из которых возможен ответ либо «да», либо «нет». После того, как заданы все вопросы, Петя должен назвать загаданное число. Однако при ответах на вопросы Коле разрешается не более одного раза солгать, то есть на один из задаваемых вопросов (конечно же, не указывая, на какой именно по счету) разрешается дать противоположный ответ. За какое наименьшее количество вопросов и каким именно образом Петя сможет гарантированно определить загаданное Колей число?
3.Зазеркалье
Имеется множество из N точек плоскости (указаны их координаты). Опишите алгоритм, проверяющий, является ли это множество точек центрально-симметричным.
Подземелье замка Черного Властелина представляет собой квадрат 4x4, ячейками которого являются 16 комнат. В каждой комнате-ячейке в заточении сидит добрый волшебник. Каждый из них знает одну часть заклинания (причем каждый свою), но выбраться из подземелья волшебники могут только тогда, когда каждый из них будет знать все 16 частей заклинания. За один день волшебник может либо сообщить в соседнюю (за стеной) комнату все части заклинания, которые знает на данный момент, либо получить от одного из своих соседей (через стенку) известные тому части заклинания. За какое количество дней и каким образом все волшебники смогут получить все части заклинания?
На плоскости собрали некий механизм, состоящий из шестеренок с одинаковым шагом (т.е. расстоянием между соседними зубьями). Все шестеренки пронумерованы и для каждой из них известны номера шестеренок, с которыми она зацеплена. Описать алгоритм, определяющий, можно ли привести весь механизм в движение, вращая какую-нибудь из шестеренок.
Попав в лабиринт, состоящий из одинаковых квадратных комнат, каждая из которых может иметь от 1 до 4 дверей в соседние комнаты, путник долго блуждал по нему, пока не нашел клад. Во время поиска он составил описание своего маршрута, обозначая каждый переход из комнаты в комнату буквами: С (север), В (восток), Ю (юг), З (запад). Опишите алгоритм, определяющий по заданной записи самый короткий путь назад.
Задачи практической части
В практической части олимпиады требуется написать решения задач – программы, соответствующие техническим требованиям и выполняющие оговоренные условиями задачи действия, на языке Паскаль или Си.
Для проверки отправляются только исходные тексты программ (файлы *.pas, *.c, *.cpp) в соответствии с техническими требованиями. Компилироваться программы будут жюри перед проверкой. Программы, не прошедшие компиляцию, к проверке не допускаются.
Программы будут проверены на комплекте тестов в полуавтоматическом режиме (внимательно следите за форматами выходных файлов: несоответствие формата выходного файла может привести к тому, что результат прохождения теста не будет засчитан).
Входные данные берутся из текстового файла input.txt, результат выполнения программы выводится в файл output.txt в установленном формате.
Ограничения на время выполнения программы по каждому из тестов: 10 секунд. Программы, не укладывающиеся во время прохождения теста в установленные ограничения или выдающие ошибку, считаются не прошедшими данный тест.
Для проверки работы загружаются через онлайн-форму.
Имеется натуральное число N. Выяснить, на какое наименьшее количество непересекающихся групп можно разбить числа от 1 до N так, чтобы сумма чисел в каждой из групп была простым числом.
Вход:файл input.txt, в котором записано единственное число N
Ограничения: 1<N≤30000
Выход: файл output.txt, содержащий единственное число (минимальное количество групп)
Пример:
input.txt output.txt
18 3 Примечание к примеру: числа от 1 до 18 можно разбить на три группы с нужным свойством (например, 1+3+4+5+6+18, 2+7+8+9+10+11+12+13+14+17 и 15+16 с суммами 103, 37 и 31), на меньшее число групп, как легко показать, нельзя.
В океане расположен архипелаг из N островов, каждый из которых имеет форму выпуклого многоугольника. Острова не соприкасаются и не пересекаются. Эти острова необходимо соединить между собой мостами так, чтобы от любого острова архипелага можно было добраться до любого другого. Каждый мост должен соединять пару островов, при этом суммарная длина мостов должна быть минимальной.
Вход: файл input.txt, имеющий следующую структуру: в первой строке входного файла записано число N – количество островов в архипелаге. Далее идет N строк с описанием островов. В каждой строке описывается один остров, который задаётся числом вершин (первое число строки) и далее их координатами в порядке обхода по часовой стрелке (у каждой вершины первой идет абсцисса, а второй - ордината). Координаты внутри строки разделяются пробелами.
Ограничения: число N – натуральное от 2 до 50 (включительно), для каждого острова число вершин не превосходит 20, все координаты – целые числа, не превосходящие по модулю 30000.
Выход: файл output.txt, содержащий два числа (по одному в строке), первая строка ¬- число: количество мостов; второе строка - число: суммарная длина мостов с точностью до 0.001
Примеры:
Пример 1. Пример 2.
Входной файл input.txt содержит: 2 4 –2 –2 –2 2 2 2 2 –2 3 3 –2 3 2 6 0 Результат (файл output.txt): 1 1 Входной файл input.txt содержит: 3 4 –2 –2 –2 2 2 2 2 –2 3 -3 0 –5 –1 –5 1 3 6 –5 8 –4 8 -5 Результат (файл output.txt): 2 6
Некоторый русский текст, хранящийся в файле, зашифрован следующим образом: каждая буква текста циклически сдвигается на одно и тоже количество символов, а все остальные символы (знаки препинания и пробелы) остаются неизменными. При шифровке большие буквы переходят в большие, а маленькие в маленькие. Будем для простоты считать, что русский алфавит состоит из 32 букв (за буквой «е» следует буква «ж»). Требуется написать программу автоматической расшифровки текста.
Вход: файл input.txt c зашифрованным текстом.
Ограничения: длина текста не превосходит 250 символов.
Выход: Файл output.txt с расшифрованным текстом.
Пример:
input.txt output.txt
А сбвпубя, оп а фтубм Я работаю, но я устал Примечание: размер выходного файла должен совпадать с размеров зашифрованного файла, не должно появляться лишних пробелов, знаков препинания и прочих разделителей.
З.Ы. решения нужны до 16 числа! Помогите кому не лень =) |
13.04.2009, 10:33 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dead Jay
Братег Дракончег
offline
Опыт:
8,475Активность: |
Задания составлял не я. Так что там этот алгоритм делает? |
13.04.2009, 10:59 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
как-то так
» задача 1 итерации цикла: 0: n := n + 2*0 + 1 1: n := n + 2*1 + 1 2: n := n + 2*2 + 1 ... i: n := n + 2*i + 1 тогда result := 0 + 1 + 3 + 5 + 7 + ... + (2*(k-1) + 1) = n + 1 + 3 + 5 + 7 + ... + (2*k-1) где result - это значение переменной n к концу алгоритма(n - входное значение n) то есть для k = 0(цикл не выполняется!): result := 0 1: result := 1 2: result := 4 3: result := 9 4: result := 16 ... замечаем что a^2 - (a-1)^2 = 2*a - 1 и совпадает с членом ряда result, значит result := 0 // для всех k <= 0 result := k^2 // для всех k > 0 афайр такая хрень мне в 8 классе на олимпиаде попадалась Отредактировано NETRAT, 13.04.2009 в 11:49. |
13.04.2009, 11:04 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
|
13.04.2009, 11:08 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
NETRAT забей, люблю иногда под тупивать...
5. Чудо инженерной мыслину а че, берем одну шестеренку, и циклом по всем ее шестеренкам, для каждой шестеренки вызывать эту же функцию, однако фишко в том что еще нужно проверять не соединены ли дочерние шестеренки с родительской, иначе крутится не будет Отредактировано J, 13.04.2009 в 11:55. |
13.04.2009, 11:34 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Жонег, йа не знаю откуда ты такие формулы берешь... откуда куб вообще?! обрати внимание на члена ряда (2*i + 1) = (i + 1)^2 - i^2 |
13.04.2009, 11:46 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
ты написал сначало n = n+k^2, у меня в голове все понапуталось и я аписал формулу n = (k^3)/3+(k^2)/2+k/6 для Суммы(i^2, i=0..k) |
13.04.2009, 11:49 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
то есть должен быть граф, который не имеет циклов нечетной длинны, алгоритмы для определения циклов в графах есть, остается только проверить длины этих циклов |
13.04.2009, 11:55 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
6. Нить Ариадныну... просто инвертируем все повороты, лево в право, право в лево, верх в низ, низ в верх. а если лабиринт квадратный и без препятствий (что не оговорено в условии) то просто пары поворотов верх-вниз и вправо-влево сокращаются, и остается кротчайший путь, если же нет... то незнаю 3. Зазеркальену простейшее решение это двойной цикл по всем точкам на проверку равенство с инвертированными знаками Отредактировано J, 13.04.2009 в 17:05. |
13.04.2009, 12:27 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dead Jay
Братег Дракончег
offline
Опыт:
8,475Активность: |
я канеш ппц туплю но мне чуть попонятней бы объяснили... а про Коллективный разум мы смогли за 8 дней сделать |
13.04.2009, 13:52 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Артте
Open up your eyes
offline
Опыт:
24,373Активность: |
Подождите, а за 1 день может сделать действие только 1 волшебник? ведь по идее могут все, тогда вообще можно за 4, а не за 6..т.е. если от краев всей линией перемещать |
13.04.2009, 18:18 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
|
13.04.2009, 18:23 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Артте
Open up your eyes
offline
Опыт:
24,373Активность: |
Ааа, стоп, каждый из них, я че-то про 1 подумал( Тогда 8 |
13.04.2009, 18:24 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
быстрее чем за 8 дней у них не получится... если бы они ОБМЕНИВАЛИСЬ знаниями, все было бы намного быстрее |
13.04.2009, 18:45 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dead Jay
Братег Дракончег
offline
Опыт:
8,475Активность: |
ну а кто практические на СИ или хотяб паскале написать может? ибо я нубас в програмировании |
13.04.2009, 19:17 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,890Активность: |
Dead Jay, а зачем пошел на олимпиаду? Выиграешь - на область поедешь.
|
13.04.2009, 19:20 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dead Jay
Братег Дракончег
offline
Опыт:
8,475Активность: |
так интереса ради занятся нечем было. мы даже команду "Кавайная Тима" назвали |
13.04.2009, 19:30 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Артте
Open up your eyes
offline
Опыт:
24,373Активность: |
уу, я в городе когда взял 2 место, так меня не взяли в краевую Т_Т |
13.04.2009, 19:42 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dead Jay
Братег Дракончег
offline
Опыт:
8,475Активность: |
ну что кто поможет решить практчсекие задания? |
14.04.2009, 05:02 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|