192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|||||||||||
1 | |||||||||||
Игра с ладьей04.02.2017, 20:57. Показов 13162. Ответов 6
Метки нет (Все метки)
На бесконечной вправо и вверх шахматной доске находится ладья. Два игрока передвигают ее по очереди. За один ход разрешено сдвинуть ладью вниз или влево на произвольное (ненулевое) количество клеток так, чтобы ладья не покинула доску. Цель игры – переместить ладью в левый нижний угол, то есть клетку с координатами (1,1). Известно, что оба игрока придерживаются оптимальной стратегии. Игрок №1 ходит первым, при этом он обязан совершить хотя бы один ход. Если первый ход сделать нельзя, то определить победителя также невозможно. Требуется написать программу, которая найдет номер победившего игрока, либо определит, что этого сделать нельзя.
Входные данные Входной файл INPUT.TXT содержит два натуральных числа, разделенных пробелами: X и Y – координаты ладьи перед первым ходом (X,Y ≤ 109). Выходные данные В выходной файл OUTPUT.TXT выведите одно число – номер победившего игрока. Если победителя определить невозможно, то следует вывести 0. Примеры:
0
|
04.02.2017, 20:57 | |
Ответы с готовыми решениями:
6
Игра с ладьей Обход ладьёй доски Выяснить можно ли попасть ладьей в заданную клетку поля Определить, можно ли, двигаясь ладьей только по заданным полям, обойти их все |
0 / 0 / 1
Регистрация: 29.01.2017
Сообщений: 1
|
|
04.02.2017, 22:56 | 2 |
Сообщение было отмечено no swear как решение
Решение
Здесь всего 2-а условия :
Кто первый ходит и какого вида матрица . Главное правило это встать на эл-т по главной диагонали ближайшей квадр. матрицы и передать ход сопернику . Отсюда 2-а правила : 1) Если матрица квадратная , то 1ый игрок проигрывает (так как уже стоит на главной диагонали , а соперник каждым своим ходом будет возвращаться на эл-т гл. диагонали , пока не окажутся на клетке 2x2 , а там чей ход тот и проиграл) 2) Если матрица не квадратная , то 1ый игрок выигрывает (т.к. 1ым ходом 1ый игрок сразу идет на эл-т гл. диагонали , 2ой игрок будет уходить с гл. диагонали своими ходами , а 1ый будет возвращаться на неё и в итоге дойдут до положения ладьи на поле 2x2 в момент когда ход будет 2го игрока , ну и там все ясно , либо 1ый столбец либо 1 строка) Если на словах то так (здесь строка и столбец это нач. коорд. ладьи на доске) : если (строка==1 && столбец ==1) {победитель неопределен} если (строка != столбец ) {выйграет 1ый игрок} иначе {выйграет 2ой игрок}
0
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
05.02.2017, 10:54 [ТС] | 3 |
Ну в принципе это то что я и сказал "Выше диагонали (y>x) выиграет 1ый игрок, иначе 2" или нет?
0
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
05.02.2017, 11:18 [ТС] | 5 |
y<x - я не понял этот момент. Если возьмем координаты 4x3 то каким образом 1ый игрок может выиграть объясните пожалуйста. Разве не будет так что: 4x2(1 игрок), 3x2(2 игрок), 3x1(1 игрок), 1x1(2 игрок)
0
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
05.02.2017, 11:30 [ТС] | 7 |
Как же я сам не мог додуматься до этого! А я думал что первый игрок всегда делает ход "вниз"
0
|
05.02.2017, 11:30 | |
05.02.2017, 11:30 | |
Помогаю со студенческими работами здесь
7
В левом нижнем углу шахматной доски размером m x n помещена ладья. Требуется обойти ладьей доску, проходя чере Бюджет 4500 гр. Конфигурация работа в Office, AutoCAD, игра Assassin, онлайн игра World of Tanks Игра в загадки. Загадать загадку. Если ответ верен – поздравить пользователя. Затем сообщить, что игра окончена. Игра в «Одиннадцать предметов», игра Баше. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |