Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2008, 19:40   #1
bigcat
Новичок
Джуниор
 
Регистрация: 27.02.2008
Сообщений: 1
По умолчанию Игра "четный" "нечетный"

У меня жуткая проблема Кто-нибудь знает как решить алгоритмически следующую задачу?

Разработайте программу моделирующуей игры. Два игрока, "нечетный" и "четный" по очереди ставят единицы и нули в незанятые позиции поля N на N. Каждый из игроков может ставить либо 1 либо 0 в произвольную свободную позицию, тем самым занимая ее. Игра продолжается до заполнения всех позиций. После этого суммируются числа вдоль каждой строки, каждого столбца и главных диагоналей. Число ODD нечетных сумм сравнивается с числом EVEN четных сумм. Если ODD>EVEN, выигрывает "нечетный", если EVEN>ODD выигрывает "четный, если ODD=EVEN, результат считается ничейным. Если одним из игроков является ЭВМ, то постройте для нее выигрышную стратегию.

Вот у меня собственно вопрос только к алгоритму оптимального решения. Кто-нибудь знает как это решить??? Данные представляются очень легко в массиве N*N: соответственно 0 либо 1, а так же 2 которая говорит что это поле незанято.

Если кто-то знает ресурс или что-то с этим связанное, тоже не брезгайте, киньте ссылочку.

Решить надо на Паскале, но подойдет и простой С (С++).
bigcat вне форума Ответить с цитированием
Старый 01.03.2008, 00:24   #2
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

вот алгоритм проверки массива после его заполнения
Код:
odd:=0;
even:=0;
s3:=0;
s4:=0;
for i:=1 to n do
begin
s1:=0;
s2:=0;
for j:=1 to n do
begin
s1:=s1+a[i,j];
s2:=s2+a[j,i];
end;
if s1 mod 2 =1 then odd:=odd+1 else even:=even+1;
if s2 mod 2 =1 then odd:=odd+1 else even:=even+1;
s3:=s3+s[i,i];
s4:=s4 +s[n-i+1,i];
end;
if s3 mod 2 =1 then odd:=odd+1 else even:=even+1;
if s4 mod 2 =1 then odd:=odd+1 else even:=even+1;
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27