Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
21 / 22 / 12
Регистрация: 24.04.2013
Сообщений: 83

Определить оптимальные координаты вырубки леса

27.01.2016, 16:16. Показов 741. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Петя не мечтает быть программистом - он хочет стать миллионером. И не где-нибудь в далеком будущем, а уже в этом году. Для воплощения своей мечты Петя организовал фирму, которая под Новый год будет заниматься поставкой новогодних елок. Поскольку миллион надо заработать уже в этом году, Петя решил обойтись без посредников. Бизнес-план вышел удивительно прост: сам рублю, сам доставляю и сам продаю. Петя смело взялся за дело, но когда получил соглашение на вырубку елок, то задумался. За один раз ему разрешили вывозить ровно K (0 <= K <= 10000) елок и партия Зеленых добилась определенных ограничений на вырубку: елки можно рубить только двигаясь на восток или на юг, начинать вырубку следует в одном углу и заканчивать в любом другом. Участки имеют форму прямоугольника со сторонами N, M (1 <= N, M <= 100), стороны которого были ориентированы строго на запад, восток, север и юг. Петя сразу же заметил, что обеспечить себе хороший результат вырубки можно только тогда, когда начинаешь рубить с северо-западного угла и заканчиваешь в юго-восточном. «Зеленые» хорошо подумали над тем, чтобы выполнить соглашение по вырубке ему было сложно. Петя это увидел и пожалел, что не стал сначала программистом. Помогите Петя правильно провести вырубку и стать миллионером, или сообщите, что на этом участке лучше не рубить.
Входные данные: В первой строке входного файла даны три целых числа N, M, K, разделенных пробелами. Дальше в N строках содержится по M символов «.» - Это свободное место, а «#» - обозначает место нахождения елки.
Выходные данные: В выходной файл в случае наличия правильного варианта вырубки вывести последовательность координат, которые выводить по одной в каждой строке. Первая координата всегда (1,1), последняя - (N, M). В противном случае вывести сообщение «To not cut!»
Пример 1:
Вход:
4 4 3
....
#...
###.
####
Выход:
1 1
2 1
2 2
2 3
3 3
3 4
4 4
Пример 2:
Вход:
3 4 1
#...
..#.
#.##
Выход:
To not cut!
Я реализовал задачу, она работает вроде как правильно, но проблема в том, что она работает слишком долго для примеров, когда n и m большие числа:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from sys import setrecursionlimit
def lab(x,y):
    global n
    global m
    global k
    global r
    global b
    global c
    b.append([x+1,y+1])
    if a[x][y]=='#':
        r+=1
    if x==n-1 and y==m-1:
        if r==k:
            c=list(b)
    else:
        if x+1<n:
            lab(x+1,y)
        if y+1<m:
            lab(x,y+1)
    if a[x][y]=='#':
        r-=1
    b.pop()
 
n,m,k=[int(i) for i in input().split()]
a=[list(input().strip()) for i in range(n)]
r=0
b=[]
c=[]
setrecursionlimit(10000)
lab(0,0)
if c==[]:
    print('To not cut!')
else:
    for i in c:
        print(*i)
Подскажите как еще можно решить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2016, 16:16
Ответы с готовыми решениями:

Определить в какой точке Миша выйдет из леса
...что сможет написать самый ублюдский код способный растрогать любого. Он выиграл спор... Задание: Миша заблудился в лесу и...

Определить, сколько кубометров леса заготавливала бригада в день
Бригада лесорубов ежедневно перевыполняла норму на x m^3, поэтому недельную норму (6 рабочих) она выполнила за 4 дня. Сколько кубометров...

Cisco Packet Tracer. Определить оптимальные маски.
создал сеть где Net 1, Net 2, Net 3, Net 4 - является подсетями сети Network 1, а Net 5, Net 6, Net 7 - Network 2. определите оптимальные...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.01.2016, 16:16
Помогаю со студенческими работами здесь

Графическим методом определить оптимальные решения ЗЛП
Графическим методом определить оптимальные решения ЗЛП. x¹+2x² ≤ 10, x¹+х²≥1, х²≥1, х²≤4, х¹≥0.

Составить платежную матрицу, определить оптимальные стратегии игроков и цену игры
Помогите решить задачу У игрока А на руках: Дама треф, Туз бубен и Десятка Пик, у игрока В : Король червей, Туз червей и Десятка треф....

Как определить оптимальные веса модели линейной регрессии методами градиентного спуска и стохастического
Подтвердить оптимальность решения величиной RSS (можно выводить значение RSS на каждой 10/100 итерации, построить график зависимости RSS от...

Найти максимальное количество вариантов вырубки деревьев
В ряд посажены N деревьев, расстояние между соседними деревьями одинаковое. Нужно найти максимальное кол-во вариантов вырубки, при...

Вести Координаты двух точек на плоскости и определить координаты середины отрывка соединяющих их
Пожалуйста помогите написать программу , ;)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru