示例#1
0
        //Algorithm Start
        public void Start(object sender, RoutedEventArgs e)
        {
            // Open Pizza file
            openPizza();

            // i = 3: skip first line

            string[] fullPizza = ReadingandsaveFromFile.ReadingLiness(pizzaInputFile.FileName, 2, PizzaHeight + 1);

            for (int i = 0; i < PizzaHeight; i += 2)
            {
                string[] lines = new string[2];

                if (i + 1 >= PizzaHeight)
                {
                    CutLine(fullPizza[i], i);
                    break;
                }
                else
                {
                    Array.Copy(fullPizza, i, lines, 0, 2);
                }

                CutDoubleLine(lines, i, i + 1);
            }

            //create out.in
            writeResult();
        }
示例#2
0
        static private void Main()
        {
            string[] input = ReadingandsaveFromFile.ReadingLiness(PathToInput, 1);

            string[] info = input[0].Split(' ');
            VideosCount   = int.Parse(info[0]);
            EndpointCount = int.Parse(info[1]);
            RequestCount  = int.Parse(info[2]);
            CacheCount    = int.Parse(info[3]);
            CacheSize     = int.Parse(info[4]);

            VideoSizes = input[1].Split(' ');

            ReadEndpoints(input);
            ReadRequests(input);
            Initialized();

            Requests.Sort((Request r1, Request r2) => { return(r2.Requests - r1.Requests); });

            for (int i = 0; i < Requests.Count; i++)
            {
                AddToHash(Requests[i]);
                Console.WriteLine("Video " + Requests[i].Requests);
            }

            Write();

            for (int i = 0; i < CacheCount; i++)
            {
                Console.WriteLine(CashesFreeSpace[i]);
            }

            Console.ReadLine();
        }
示例#3
0
        public void openPizza()
        {
            pizzaInputFile = new OpenFileDialog();
            pizzaInputFile.ShowDialog();
            string[] pizzaInfo = ReadingandsaveFromFile.ReadingLiness(pizzaInputFile.FileName, 1, 1)[0].Split(' ');

            PizzaHeight     = int.Parse(pizzaInfo[0]);
            PizzaWidth      = int.Parse(pizzaInfo[1]);
            NeedIngredients = int.Parse(pizzaInfo[2]);
            PieceSize       = int.Parse(pizzaInfo[3]);

            //reset
            CutsCount  = 0;
            Score      = 0;
            ResultFile = new StringBuilder();

            Print("File Open: " + pizzaInputFile.FileName);
            Print("Size y: " + PizzaHeight);
            Print("Size x: " + PizzaWidth);
            Print("Min of elements: " + NeedIngredients);
            Print("Bit size: " + PieceSize);
        }