Софтуерно Инженерство
Loading...
peter1998 avatar peter1998 5 Точки

C# Advanced Exam - 14 October 2018 Помощ за задача с масиви c# Fundamentals

Здравейте Колеги , може ли малко насока как да довърша задача с матрици от изпита C# Advanced Exam - 14 October 2018

ето моят код : 03. Miner https://pastebin.com/fuF0S25C
тука е условието https://judge.softuni.bg/Contests/Practice/Index/1289#2 C# Advanced Exam - 14 October 2018

Тагове:
0
C# Advanced
TeMePyT avatar TeMePyT 131 Точки

https://pastebin.com/spWWLw5V Това е което сътворих аз на ипита, не съм си играл да променям матрицата, никъде не те карат да я принтираш после, така че няма никакво значение. Извадих си локациите на въглищата и на е-то, и после само правех проверки. Ако настъпя е-то -  Game over, ако има въглища на мястото, махам ги от списъка. След проверка ако в списъка с въглища няма нищо, значи съм събрал всичко, ако пък няма команди принтирам колко са останали.

0
12/01/2019 12:52:21
peter1998 avatar peter1998 5 Точки

хубаво решение , но какво е Tuple и Hash Set 

0
TeMePyT avatar TeMePyT 131 Точки

Ами учат се по-нататък по принцип. В tuple по принцип можеш да държиш от 1 до 8 типа данни, tuple<T1> - tuple<T1, T2, T3,...T8>. Като не е задължително да са един тип. Примерно можеш да имаш tuple<string, int, bool>. За задачата съм ползвал tuple<int, int> за да пазя координатите на въглищата(въобще при матрици това мисля е най-удобния вариант да пазиш координати). https://www.dotnetperls.com/tuple тук е обяснено. Hashset от друга страна е нещо като лист, но няма подреждане, не се знае кое къде е(в случая не ми пука кое къде е, интересува ме има ли го вътре). Също така може да съдържа само уникални елементи, без повторения. Много бърз е. Добър избор за съхранение на координатите на въглищата(няма повторение на tuple<int, int>, в които ги пазя). И така, вадя координатите на въглищата в хешсета с тупъли, после в самата програма при всеки ход си правя един нов тупъл с настоящите координати, проверявам дали хешсета с координатите на въглищата съдържа такъв тупъл, и ако го има го махам от хешсета(събрал съм въглищата на тези координати). Не знам до колко добре го обясних, из нета можеш да намериш информация и за 2-те. Или в стара инстанция на C# Advanced.

0
TeodorStefanovPld avatar TeodorStefanovPld 1205 Точки

Те промениха tuples как работят препоръчват вече value tuples да си полвват.

И че се решава и по друг начин е ок. Но но почти всяко интервю има матрица или някакви многоизмерни масиви,та колегата да се помъчи малко. Не  е толкова сложно,а ще му е полезно за после.

1
TeMePyT avatar TeMePyT 131 Точки

Така е, на мен лично курсовете за алгоритми ми помогнаха да схвана матриците. Дори самото решение с tuple и хешсет, което ползвах, е от една от лекциите. https://pastebin.com/n9g1nG0b ето това беше задачата(използваха го за да запазят пътя, но след като изгледах лекцията за зачетох за тупъл и хешсета). Относно промените-нямах си на идея, в момента съм на вълна бази данни и SQL :) Ще трябва пак да чета явно.

0