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

Найти счёт при оптимальной стратегии двух игроков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Печать из консоли на принтер http://www.cyberforum.ru/cpp-beginners/thread1224975.html
Здравствуйте столкнулся с такой проблемой как печать с консольного окна результата программы. Хотел сделать следующее сам код программы напечатать допустим на одной стороне листа, а то что в итоге...
C++ Записать в третий файл через один содержимое первого файла и второго Даны 2 файла содержащие числа , записать в 3 файл через один содержимое первого файла и второго файла и сумму первого и второго http://www.cyberforum.ru/cpp-beginners/thread1224965.html
Управление перемещением символов в командной строке C++
используя интерактивный ввод данных управлять перемещением символов в командной строке
Для целого числа найти его представление в виде среднего арифметического квадратов чисел C++
Заставляют решить такую задачу: Для целого числа N найти его представление в виде среднего арифметического квадратов натуральных чисел. Например, 2007=(2^2+12^2+22^2+86^2)/4. В первой строке ввода...
C++ Как преобразовать код для n-ого количества строк? http://www.cyberforum.ru/cpp-beginners/thread1224894.html
Всем доброго дня, у меня есть проблема с кодом, не получается вот что, сделать так чтобы частоты символом считались для всего текста, а не для строки отдельно. Есть код: #include "stdafx.h"...
C++ Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A "Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и удалить латинские буквы из A; в остальных случаях продублировать... подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998

Найти счёт при оптимальной стратегии двух игроков - C++

09.07.2014, 14:54. Просмотров 284. Ответов 4
Метки (Все метки)

взялся тут решать задачку с олимпиады, и честно говоря уже час потратил за зря...Никак не могу продумать сам алгоритм игры игроков...

Игроки совершают ходы по очереди. На каждом ходу игрок забирает число, написанное в его текущей ячейке, затем ставит туда ноль и переходит в смежную слева или справа ячейку (разумеется, игрок не может выходить за пределы массива). Два игрока могут в некоторый момент времени находиться в одной ячейке. Счёт игрока — это сумма всех набранных во время игры чисел. Игра заканчивается, когда во всех ячейках массива записаны нули.
А теперь вычислите, какое максимальное количество очков могут набрать первый и второй игроки (первый игрок, разумеется, ходит первым), если они играют оптимально, то есть стремятся максимизировать свой счёт, а если существует несколько вариантов сделать это, то стараются минимизировать счёт противника.

Исходные данные:
В первой строке записано целое число n — размер массива (10 ≤ n ≤ 105). Во второй строке записаны n целых чисел — исходный массив. Все элементы массива неотрицательны и не превосходят 10 000. В третьей строке записаны два целых числа — стартовые позициии первого и второго игроков соответственно. Индексация ячеек массива начинается с единицы.

Результат:
Выведите два числа — счёт первого и второго игроков при оптимальной игре обоих.
Пример:
исходные данные :
10
1 2 3 4 5 6 7 8 9 0
4 8
результат:
21 24
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru