Loading...
Gesh4o avatar Gesh4o Trainer 305 Точки

Здравей,

Задачата не се решава с матрица, провай да подадеш матрица с максимални размери в judge-a(без каквато и да е друга логика) и ще видиш, че ти гърми директно с OutOfMemoryException. Максималните размери са 10 000x10 000, което общо са  100 000 000 елемента. Дори масива да ти е булев, препълваш директно изискваната памет. Може да прегледаш тези два линка: тук и тук, за да провериш каква памет може да заема една булева променлива, но доколкото видях при Java, казват, че засиви от виртуалната машина, но може евентуално да го подкарат до 1 byte(има доста разминавания в коментарите относно този въпрос), което за толкова елементи пак е много.

Колкото до задачата, опитай се да запазиш в някакъв HashSet заетите места и с него вече обработвай командите - мисля, че това би ти помогнало с тези два теста конкретно. Надявам се коментара да е полезен.

Поздрави ! :)

2
MapuH avatar MapuH 35 Точки

Добро уточнение, защото като се види условието и картинката, човек някакси по презумция тръгва да прави решение с матрица. При мен си мина с пълна оценка решение с матрица, но явно е било късмет, сигурно няма такъв тест с максималните размери.

1
Gesh4o avatar Gesh4o Trainer 305 Точки

Аз тази задача я имах на изпита по Advanced C#, където единственото парче незакоментиран(ака // ...) код беше именно инициализацията на масива. Подавайки това видях, че единственото, което може да ми счупи програмата е инициализацията на масива. След което подадох в jugde-a масив 10 000 х 10 000 и директно ми изгърмя с OutOfMemoryException, който се вижда с нулевия тест. А ти иначе тази задача на Java ли си я решавал, та си минал всички тестове?

Поздрави! :)

0
30/03/2016 07:34:43
MapuH avatar MapuH 35 Точки

Да, на Java, забравих да уточня. Все пак да кажа, че минава на ръба на time limit-a и то май от втория опит чак стана :). Някой ден като нямам какво да правя ще седна да мисля по-умно решение.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.