Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

EngirooSan avatar EngirooSan 38 Точки

[C# Advanced] 5. Rubiks Matrix Time Limit..

Привет,

каква стуктура от данни ползвате за решаването на тази задача? 8 и 9 тест ми гърмят с time limit, ползвам matrix[][] и цикли..

Поздрави,

Тагове:
0
C# Advanced 06/06/2017 22:27:31
Miroslav_Kisov avatar Miroslav_Kisov 60 Точки
Best Answer

Според мен е възможно в някои от тестовете да подават много големи стойности за разбъркване ,например даден ред от 3 елемента да се разбърка 2000000000 пъти (1  left 2000000000). Идеята е тези два милиарда да се редуцират до максимум бройката елементи на съответния ред в случая 3. Ето моето решение надявам се да помогне https://pastebin.com/vXcpsd0q

1
SvilenPavlov avatar SvilenPavlov 11 Точки

Евала, колега, че ми напомни за този хак! Спомням си същата уловка, където можеше да върти цикъл 1милиард пъти как го съкращавахме с % от дължината на колекцията! Тази задача ме стресна с количеството време, което ми отне да напиша всичко! Беше най-дългата ми не-изпитна задача! Погледнах твоя код за сверка и видях, че като пълниш работната матрица, можеш успоредно да напълниш и blueprint,вместо 2 пъти да въртиш същия цикъл: 

bluePrint[i, j] = number++;

 

Пък аз взех от теб, това че принтираш Swap съобщението в самата функция Equalize...., която е тип воид. Аз малко тъпо го направих да ми връща стринг ...смях :) https://pastebin.com/LR3ASGfm

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