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
g.kolev avatar g.kolev 82 Точки

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

0
e.manolov avatar e.manolov 80 Точки

Решението с матрица би трябвало да мине. Пусни кода да видим, може да е в циклите нещо проблема.

0
EngirooSan avatar EngirooSan 38 Точки

https://pastebin.com/1T0AtD2g 

според мен гърми на up или down, сортирането е подобно на това от упражненията...

само един от тестовете не  минава...

 

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