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

№38 с acmp.ru - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы не понятно.Проверьте ошибки! http://www.cyberforum.ru/cpp-beginners/thread298141.html
Прошу о помощи! Проверьте задачку! Надеюсь что хоть часть будет верно написано (я ведь совсем не шарю в этой теме) _______________________________________________________________________________ Даны вещественные массивы A, B. Определить значения вещественного массива C по правилу: C=сумме j-го столбца массива A при B>0 C=0 при B=0 C=A+A при B<0 Значение переменной i изменяется от 0...
C++ Деструтор взял выходной. Уважаемые знатаки, доброго времени суток. В процессе написания лабы захотелось одну функцию протестировать отделно от всего осталного. Написав подобный класс, споивовав деструктор и необходимые для теста функции принялся за дебаг, после чего РАБОЧИЙ в исходном проэкте деструктор отказаля коректно выполняться, причем и в исходнике тоже. Если не лень, научите уму разуму, ну пожлуйста... вот... http://www.cyberforum.ru/cpp-beginners/thread298130.html
Немогу понять как начать программу C++
Многопоточное консольное приложение С++. Основной поток запускает X (1 < X <= 64) вспомогательных потоков. X – первый параметр командной строки. Каждый из вспомогательных потоков бесконечно (с некоторой изменяющейся задержкой) добавляет в некий общий контейнер свой элемент. При этом он удаляет самый старый элемент в случае, если тот был добавлен другим потоком или если количество элементов...
dll C++
создаю первую dll в ms vs 2008 #include "stdafx.h" #include "windows.h" #include "stdio.h" #include "incl.h" BOLL WINAPI DllMain(HINSTANCE hDll, dwReason, lpReserved) { switch(dwReason)
C++ Сеттеры и геттеры в классах С++! http://www.cyberforum.ru/cpp-beginners/thread298124.html
Сдравствуйте!Не могли бы вы мне обьяснить зачем нужны сеттеры и геттеры в классах с++ и как их использовать в основной функции!Заранее спасибо!(очень прошу объяснение попроще)
C++ С паскаля на С++ Всем добрый вечер!! Вот сама задача.....Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие выше побочной диагонали. Условный оператор не использовать. Const m = 6; Var a:array of integer; i,j:byte; Begin Randomize; For i:=1 to m do подробнее

Показать сообщение отдельно
Veyron
 Аватар для Veyron
104 / 104 / 4
Регистрация: 02.06.2009
Сообщений: 579
17.05.2011, 21:37     №38 с acmp.ru
Вы любите играть в игры? Конечно, любите! Но про эту игру, возможно, ничего не знаете и не слышали даже. Что ж, расскажем о новой игре. На доске написана последовательность n целых чисел. Играют двое. На очередном ходе игрок выбирает число с правого или с левого края последовательности, затем это число стирается и последовательность становится на одно число меньше, а ход переходит к противнику. Выигрывает тот, кто наберет в сумме больше. Написать программу, определяющую победителя в конкретной игре, при условии, что игроки будут играть оптимально.
Входные данные

В первой строке входного файла INPUT.TXT записано целое число n (0 < n < 100). Во второй строке через пробел заданы n натуральных чисел, не превосходящих 1000.
Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести 1, если победит первый игрок, 2 – если победит второй игрок и 0 – в случае ничьей.
Решал так.
Беру массив пар dp NxN, где номер строки - число цифр, убранных с правой стороны, а номер столбца - число цифр, убранных с левой стороны. В dp[0][0] пишем ноль, а нулевой столбец и нулевую строку заполняем так, как будто игроки берут только слева или только справа цифры (для каждого случая).
Затем заполняем таблицу по правилу - если сумма i+j - четная, то это ход второго игрока, иначе первого.
В текущую ячейку для текущего игрока запишем число, которое будет максимумом среди чисел dp[i][j-1].first(или second)+F[i-2], dp[i-1][j].first(или second)+F[N-j+1], где N - количество чисел, а F - массив самих чисел. Сумму противоположного игрока перенесем. Если максимума из тех двух чисел нет, то запишем любую сумму, а в сумму противоположного игрока внесем минимум из тех возможных ситуаций.
Получим матрицу, заполненную до побочной диагонали, на диагонали по идее будут возможные финалы игры (их счета). Пробегаем по этой диагонали и смотрим, сколько матчей завершилось в пользу первого и вничью. Если число побед первого не равно нулю, то вывести 1, иначе, если число ничьих не равно нулю - вывести 0, иначе вывести 2.
Чето не получается сделать... Ответ не выдает правильный. В чем косяк?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru