Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gogaby
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 28
#1

Списки .задача - C++

09.12.2011, 04:40. Просмотров 754. Ответов 0
Метки нет (Все метки)

Помогите, пожалуйста решить задачку, буду очень благодарна:

N серых и M белых мышей сидят по кругу. Кошка ходит по кругу по часовой стрелке и съедает каждую s-ую мышку. В первый раз счет начинается с серой мышки. Напишите программу, определяющий порядок, в котором сидели мышки, если через некоторое время осталось K серых и L белых мышей. В решении использовать структуру данных «список».

Добавлено через 8 минут
Есть такое решение, но мне нужно на С/С++
Как и в задаче 10 заполняем сначала массив A нулями, перенумеровываем по порядку N+M позиций от 1 до N+M. Начиная с первой позиции (серая мышка) делаем ход - отсчитываем S нулевых позиций по порядку (считаем, что позиция, где сидела съеденная мышка, помечается единицей, несъеденная мышка - нулем; за N+M-ой позицией располагается первая) и выставляем в соответствующую позицию 1 мышка съедена. Далее отсчет начинаем со следующей за съеденной мыши. (Для более быстрого поиска S-той мышки среди оставшихся в круге можно использовать список, описанный в задаче 2).

Делаем P=(N+M)-(K+L) ходов.

По условию задачи в первой позиции сидит серая мышка. Есть A[1]=1 (первая мышь была съедена), то в оставшихся P-1 единичной позиции в произвольном порядке расставляем N-K-1 серых и M-L белых мышей. В оставшихся незанятыми позициях рассаживаем опять же в произвольном порядке оставшихся мышей.

Если A[1]=0, и K=0, то начальной расстановки не существует (все серые мыши съедены, а должна остаться еще одна в первой позиции); если же K<>0, то в единичных позициях рассаживаем N-K серых и M-L белых мышей, а в оставшихся позициях - в первую позицию серую мышь, а во все остальные - белых и серых в произвольном порядке.

Добавлено через 1 минуту
Решение задачи 10.

Монеты лежат на N+M позициях. Пронумеруем эти позиции по порядку по контуру от 1 до N+M.

Заведем массив A из N+M ячеек. Первоначально все ячейки нулевые. Начиная счет от первой ячейки, будем делать ход - отсчитывать S ячеек (считаем, что за N+M-ым элементом следует непосредственно 1-ый элемент массива) и заменять в этой ячейке число i на число 1-i (т.е. 0 на 1, а 1 на 0). После k-того хода остановимся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 04:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Списки .задача (C++):

Задача на списки - C++
Пусть в файле хранятся записи со сведениями об автомобилях и их владельцах (марка, номер ГАИ, фамилия владельца); Необходимо: а) для...

Задача на линейные списки - C++
Задание : в файловой системе каталог файлов организован как линейный список. Для каждого файла в каталоге содержатся следующие сведения :...

Задача на тему Стеки, очереди, деки, списки, кольца - C++
Программа на вход получает список школьников следующего вида: 9 Иванов 10 Петров 11 Сидоров 9 Григорьев ...

Списки, как склеить списки между собой? - C++
Ребят, привет всем, есть код, в классе которого описаны несколько методов: добавление элемента в список, удаление и просмотр списка, дак...

Списки С++ - C++
Пусть в файле хранятся записи со сведениями об автомобилях и их владельцах (марка, номер ГАИ, фамилия владельца); Необходимо: а) для...

Списки с С++ - C++
Срочно надо, пожалуста помогите: написать функцию, которая определяет количество вхождений у список елемента, который задан...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 04:40
Привет! Вот еще темы с ответами:

Списки - C++
Помогите пожалуйста с задачей: В списке L найти такой элемент &quot;y&quot; (если существует), что &quot;y&quot; больше всех предыдущих и меньше всех...

Списки - C++
Помогите пожалуйста решить задачу. Сформировать однонаправленный список целых чисел. Описать функцию, которая: 1) определяет, является ли...

списки - C++
Организуйте помещение вводимых чисел в список, так чтобы получился список, упорядоченный по возрастанию помогите,пожалуйста,прошу...

Списки - C++
Здравствуйте.Помогите пожалуйста сделать это задание,срочно очень надо. Обьединить 2 сортированных списка в один,чередуя элементы первого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru