|
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
|
|
Морской бой21.03.2018, 20:23. Показов 29852. Ответов 22
Метки нет (Все метки)
Дима любит играть в морской бой. К сожалению, он очень рассеян и постоянно неправильно отмечает на карте клетки, по которым уже стрелял. Напишите класс, который будет строить за Диму карту.
Класс SeaMap должен иметь следующие методы (sm – экземпляр SeaMap): sm.shoot(row, col, result) — добавить на карту результат выстрела. row — индекс ряда карты. col — индекс вертикальной колонки карты. result — одна из строк “miss” (промах), “hit” (попадание), “sink” (потопление корабля). sm.cell(row, col) Возвращает ‘.’, если в клетке с координатами row, col может находится корабль. Возвращает ‘*’, если в клетку уже стреляли или она находится рядом с потопленным кораблём. Возвращает ‘x’ если в клетке было попадание. Метод cell будет вызываться, только когда все обнаруженные на карте корабли потоплены. То есть, не нужно помечать ‘*’ клетки рядом с кораблём в который попали, но не потопили до конца. Формат ввода Каждый тест представляет собой код, в котором будет использоваться ваш класс. Файл c решением не обязательно называть solution.py, он будет переименован автоматически. Тест запускается с вашим классом, а его вывод сравнивается с правильным решением. Пример 1 Ввод Вывод from solution import SeaMap sm = SeaMap() sm.shoot(2, 0, 'miss') sm.shoot(6, 9, 'miss') for row in range(10): for col in range(10): print(sm.cell(row, col), end='') print() .......... .......... *......... .......... .......... .......... .........* .......... .......... .......... Пример 2 Ввод Вывод from solution import SeaMap sm = SeaMap() sm.shoot(2, 0, 'sink') sm.shoot(6, 9, 'hit') for row in range(10): for col in range(10): print(sm.cell(row, col), end='') print() .......... **........ x*........ **........ .......... .......... .........x .......... .......... .......... Пример 3 Ввод Вывод from solution import SeaMap sm = SeaMap() sm.shoot(0, 0, 'sink') sm.shoot(0, 9, 'sink') sm.shoot(9, 0, 'sink') sm.shoot(9, 9, 'sink') for row in range(10): for col in range(10): print(sm.cell(row, col), end='') print() x*......*x **......** .......... .......... .......... .......... .......... .......... **......** x*......*x
0
|
|
| 21.03.2018, 20:23 | |
|
Ответы с готовыми решениями:
22
Морской бой Морской бой на python Морской бой |
|
Просто Лис
|
||||||
| 22.03.2018, 05:23 | ||||||
0
|
||||||
|
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
|
|
| 22.03.2018, 16:13 [ТС] | |
|
Чет не пашет
0
|
|
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
||||||
| 22.03.2018, 18:23 | ||||||
|
Рыжий Лис, Тут недописал
0
|
||||||
|
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
|
|
| 22.03.2018, 20:52 [ТС] | |
|
Я запутался. Так как правильно?
0
|
|
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
||||||
| 23.03.2018, 17:01 | ||||||
.......... .......... *......... .......... .......... .......... .........* .......... .......... .......... .......... **........ x*........ **........ .......... .......... .........x .......... .......... .......... x*......*x **......** .......... .......... .......... .......... .......... .......... **......** x*......*x
1
|
||||||
|
7 / 7 / 0
Регистрация: 15.02.2018
Сообщений: 56
|
|
| 23.03.2018, 17:42 [ТС] | |
|
Вердикт Я.Контест: wrong-answer
ompiling/file solution.py || true stderr: Тест 7 Ресурсы 43ms/5.26Mb Ввод from solution import SeaMap sm = SeaMap() sm.shoot(0, 0, 'hit') sm.shoot(0, 1, 'sink') sm.shoot(9, 8, 'hit') sm.shoot(9, 9, 'sink') sm.shoot(2, 3, 'sink') sm.shoot(5, 6, 'miss') sm.shoot(7, 8, 'miss') sm.shoot(1, 7, 'miss') sm.shoot(1, 7, 'miss') for row in range(10): for col in range(10): print(sm.cell(row, col), end='') print() Вывод программы *x*....... *****..*.. ..*x*..... ..***..... .......... ......*... .......... ........*. ........** ........*x Правильный ответ xx*....... *****..*.. ..*x*..... ..***..... .......... ......*... .......... ........*. .......*** .......*xx Сообщение чекера Line 1 differs: out: >*x*.......< corr: >xx*.......<
0
|
|
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
||||||
| 23.03.2018, 20:25 | ||||||
|
Taranboy, ну да я перезаписываю рядом стоящие попадания. при одиночных кораблях когда попал и убил это сработало а вот когда ххх подряд то затирает соседние попадания. осталось реализовать проверку соседних клеток на попадания верх и вниз а так же влево вправо и свободные от х заполнить * но что то я завис на этом.
0
|
||||||
|
Просто Лис
|
||||||
| 24.03.2018, 06:07 | ||||||
0
|
||||||
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
|||||||||||
| 25.03.2018, 13:58 | |||||||||||
|
Рыжий Лис, а как лучше каждый раз создавать словарь заново при вызове метода?
0
|
|||||||||||
|
Просто Лис
|
||||||
| 25.03.2018, 14:04 | ||||||
|
Мой способ ожидаемо медленнее в два раза. Так что константные значения лучше создавать один раз.
0
|
||||||
|
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
| 26.03.2018, 08:23 | |
|
Так какой код работает?
0
|
|
|
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
| 26.03.2018, 20:01 | |
|
Taranboy нужен полностью правильный код! А не половина кодов! Ему нужен только код!
0
|
|
|
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
|
|
| 27.03.2018, 17:46 | |
|
Нет
Добавлено через 14 секунд Скинь полностью работающий код!
0
|
|
|
2 / 2 / 0
Регистрация: 14.03.2019
Сообщений: 3
|
||||||
| 14.03.2019, 19:25 | ||||||
2
|
||||||
|
-5 / 10 / 0
Регистрация: 14.03.2019
Сообщений: 52
|
|
| 14.03.2019, 20:01 | |
|
from solution import SeaMap
sm = SeaMap() sm.shoot(2, 0, 'sink') sm.shoot(6, 9, 'hit') for row in range(10): for col in range(10): print(sm.cell(row, col), end='') print() Ожидаемый результат .......... **........ x*........ **........ .......... .......... .........x .......... .......... .......... Вывод .......... .......... *......... .......... .......... .......... .........* .......... .......... .......... Сообщение Line 2 differs: out: >..........< corr: >**........<
0
|
|
|
2 / 2 / 0
Регистрация: 14.03.2019
Сообщений: 3
|
|
| 14.03.2019, 21:42 | |
|
Мне кажется, у них с тестером что-то не так, потому что у меня, когда я сам тестирую, всё как в ответе получается.
0
|
|
| 14.03.2019, 21:42 | |
|
Помогаю со студенческими работами здесь
20
Морской бой Морской бой
Морской бой Морской бой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|