Krasi Nikolov

IT Blog
RSS icon Email icon

How to make your post to appear right here?

If you want to list your posts here, you should go to you theme's options (Appereance => Theme Options) and put the category's id. Please note that if the category doesn't consist any posts, you'll be still seeing sample posts.

Sample photo Sample photo thumb

How to assign a picture to a featured post?

Select a post & click edit through your admin panel. Scroll down to the section named "Custom fields" then create a field named "picture" and the value should contain a path where you stored a picture. You may also create a custom field named "url" just in case you want to link your post elsewhere.

Sample photo #2 Sample photo #2 thumb

About this theme

Did you know that featured posts may contain up to 3 lines of text. This theme is built using CSS framework "Blueprint". The featured posts is based on "SmoothGallery" which is based on "MooTools" - a javascript framework.

Sample photo #2 Sample photo #2 thumb
  • Сортиране чрез сливане

    Posted on January 10th, 2013 Krasi Nikolov No comments

    Ще се постарая накратко и възможно най- просто да обясня, как може да се напише клас на c#, който сортира масив по рекурсивния метод.
    Първо накратко да обясня, какво представлява метода за сортиране чрез сливане. Взема се един масив с n елемента и се разделя на n отделни масива с по 1 елемент. След това на всяка стъпка, всеки масив се обединява със следващия и се сортира. Например ако имаме един масив с 8 елемента, той се дели на 8 масива с по един елемент. На първа стъпка, първият се сравнява със втория, третия с четвъртия… и така се получават 4 масива с по 2 подредени елемента. Същата операция се повтаря и с вече подредените масив, докато накрая не остане само един подреден масив.
    А сега да обясня, как аз решавам този проблем.
    Read the rest of this entry »

  • Quadronacci Rectangle

    Posted on December 30th, 2012 Krasi Nikolov No comments
    using System;
    
    class QuadronacciRectangle
    {
        static void Main()
        {
            long[] q = new long[4];
            for (int i = 0; i < 4; i++)
            {
                q[i] = long.Parse(Console.ReadLine());
            }
            int r = int.Parse(Console.ReadLine());
            int c = int.Parse(Console.ReadLine());
            long[] cr = new long[c*r];
            for (int i = 0; i < 4; i++)
            {
                cr[i] = q[i];
            }
            for (int i = 4; i < c*r; i++)
            {
                cr[i] = cr[i - 1] + cr[i - 2] + cr[i - 3] + cr[i - 4];
            }
            for (int i = 0; i < r; i++)
            {
                for (int j = 0; j < c; j++)
                {
                    Console.Write(cr[i*c+j]);
                    if (j < c-1)
                    {
                        Console.Write(' ');
                    }
                }
                Console.WriteLine();
            }
        }
    }
    

    Следва условието на задачата.
    Read the rest of this entry »

  • Triple Rotation Of Digits

    Posted on December 29th, 2012 Krasi Nikolov No comments
    using 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;
        }
    }
    

    Read the rest of this entry »

  • Poker

    Posted on December 29th, 2012 Krasi Nikolov No comments

    На тази задача, доста се затрудних със “Streight”. Все още не бях направил, да тества А 2 3 4 5 6, но проверката през bgcoder ми даваше 100 %. Загубих още 1 час затова, бях 500/500, но ми се щеше задачите да са верни.

    using System;
    
    class Poker
    {
        static void Main()
        {
            string result;
            int[] cards = new int[5];
            for (int i = 0; i < 5; i++)
            {
                cards[i] = StringToNumber(Console.ReadLine());
            }
            Array.Sort(cards);
            bool isStraight = false;
            if (cards[0] == cards[4])
            {
                result = "Impossible";
            }
            else if ((cards[0] == cards[3]) || (cards[1] == cards[4]))
            {
                result = "Four of a Kind";
            }
            else if (((cards[0] == cards[2]) && (cards[3] == cards[4])) ||
                ((cards[0] == cards[1]) && (cards[2] == cards[4])))
            {
                result = "Full House";
            }
    
            else if (IsStraight(cards))
            {
                result = "Straight";
            }
            else if ((cards[0] == cards[2]) || (cards[1] == cards[3]) || (cards[2] == cards[4]))
            {
                result = "Three of a Kind";
            }
            else if (((cards[0] == cards[1]) && (cards[2] == cards[3])) ||
                ((cards[0] == cards[1]) && (cards[3] == cards[4])) ||
                ((cards[1] == cards[2]) && (cards[3] == cards[4])))
            {
                result = "Two Pairs";
            }
            else if ((cards[0] == cards[1]) || (cards[1] == cards[2]) || (cards[2] == cards[3]) ||
                (cards[3] == cards[4]))
            {
                result = "One Pair";
            }
            else
            {
                result = "Nothing";
            }
            Console.WriteLine(result);
        }
    
    
    
    
        static bool IsStraight(int[] card)
        {
            int[] current = card;
            bool isStraight = true;
            for (int i = 1; i < current.Length; i++)
            {
    
                if ((current[i] != current[i - 1] + 1) && (current[i] != current[i - 1] + 9))
                {
                    isStraight = false;
                    break;
                }
            }
    
            return isStraight;
        }
    
        static int StringToNumber(string text)
        {
            int number = 0;
            switch (text)
            {
                case "J":
                    number = 11;
                    break;
                case "Q":
                    number = 12;
                    break;
                case "K":
                    number = 13;
                    break;
                case "A":
                    number = 14;
                    break;
                default:
                    number = int.Parse(text);
                    break;
            }
            return number;
        }
    }
    
  • Angry Bits

    Posted on December 29th, 2012 Krasi Nikolov 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 »