-
Big Bombs
Posted on March 3rd, 2013 No commentsЗадачата за третия етап от конкурса на PC Magazin и Telerik, беше много интересна. За първи път имаше доста програмиране в приложната част. Правилата на играта, която трябваше да се имплементира, са сравнително прости.
Имаме поле 101х101, защитникът разполага със солни мини, които трябва да се охраняват. Самата защита се осъществява от оборудвани пилета. Нападателят разполага с две бойни единици: Голяма бомба, която има радиус от 0 до 19, и гуци с гърмелка, което има радиус 1.5. Read the rest of this entry » -
Изпит в Софтуерната Академия на Телерик – C# втора част
Posted on February 11th, 2013 No commentsЗаписах се за изпит за първата възможна дата, защото напоследък съм затрупан от ангажименти и ми се щеше да отпиша поне C# от списъка с проблеми за решаване. Като подготовка за изпита, реших няколко задачи от миналогодишните и не бях особено обнадежден. От една страна, за решаването на всяка задача ми отиваха поне 2-3 часа, от друга страна стигаха до 80-90%. Нямах нито една задача на 100%, всеки път достигах до time limit. Read the rest of this entry »
-
Сортиране чрез сливане
Posted on January 10th, 2013 No commentsЩе се постарая накратко и възможно най- просто да обясня, как може да се напише клас на c#, който сортира масив по рекурсивния метод.
Първо накратко да обясня, какво представлява метода за сортиране чрез сливане. Взема се един масив с n елемента и се разделя на n отделни масива с по 1 елемент. След това на всяка стъпка, всеки масив се обединява със следващия и се сортира. Например ако имаме един масив с 8 елемента, той се дели на 8 масива с по един елемент. На първа стъпка, първият се сравнява със втория, третия с четвъртия… и така се получават 4 масива с по 2 подредени елемента. Същата операция се повтаря и с вече подредените масив, докато накрая не остане само един подреден масив.
А сега да обясня, как аз решавам този проблем.
Read the rest of this entry » -
Triple Rotation Of Digits
Posted on December 29th, 2012 No commentsusing System; class Program { static void Main() { int k = int.Parse(Console.ReadLine()); for (int i = 0; i < 3; i++) { int count = CountNumbers(k); if (count == 1) { break; } int lastDigit = k % 10; k = k / 10; for (int j = 0; j < count-1; j++) { lastDigit *= 10; } k = lastDigit + k; } Console.WriteLine(k); } static int CountNumbers(int n) { int count = 0; do { n = n / 10; count++; } while (n> 0); return count; } }
-
Angry Bits
Posted on December 29th, 2012 No commentsДоста неща не са добре изпипани, но докато си напрегнат правиш нещата да работят, по първият начин за който се сетите.
Това в началото е основната част от задачата, а именно движението на птицата до достигане на прасе. Тук загубих 1 час, защото бях пропуснал, това че движението завършва не само вляво а и долу.do { flight++; birdCol--; if ((birdRow + addToRow < 0) || (birdRow + addToRow > 7)) { addToRow *= -1; } birdRow += addToRow; if ((birdCol < 8) && (field[birdRow, birdCol] == 1)) { for (int k = birdRow - 1; k <= birdRow + 1; k++) { for (int l = birdCol - 1; l <= birdCol + 1; l++) { if ((k >= 0) && (k < 8) && (l >= 0) && (l < 8)) { if (field[k, l] == 1) { hit++; field[k, l] = 0; } } } } birdCol = -1; } if (birdRow == 7) { birdCol = -1; } } while (birdCol > 0);
Цялото решение:
Read the rest of this entry »
Recent Comments