static void Main()
        {
            string[] input = Console.ReadLine().Split();

            int numberOfRectangles = int.Parse(input[0]);
            int intersectionChecks = int.Parse(input[1]);

            List <Rectangle> rectagles = new List <Rectangle>();

            for (int recatngelNum = 0; recatngelNum < numberOfRectangles; recatngelNum++)
            {
                string[] data   = Console.ReadLine().Split();
                string   id     = data[0];
                double   width  = double.Parse(data[1]);
                double   height = double.Parse(data[2]);
                double   startX = double.Parse(data[3]);
                double   startY = double.Parse(data[4]);

                rectagles.Add(new Rectangle(id, width, height, startX, startY));
            }

            for (int interChecks = 0; interChecks < intersectionChecks; interChecks++)
            {
                string[] data   = Console.ReadLine().Split();
                string   check1 = data[0];
                string   check2 = data[1];

                Rectangle currentRectangle = rectagles.Where(r => r.Id == check1).First();

                currentRectangle.IsIntersect(rectagles.Where(r => r.Id == check2).First());
            }
        }
Beispiel #2
0
        static void Main()
        {
            int[] info = Console.ReadLine()
                         .Split(" ", StringSplitOptions.RemoveEmptyEntries)
                         .Select(int.Parse)
                         .ToArray();
            int rectanglesCount         = info[0];
            int intersectionChecksCount = info[1];

            List <Rectangle> rectangles = new List <Rectangle>();

            ReadRectangles(rectanglesCount, rectangles);

            for (int i = 0; i < intersectionChecksCount; i++)
            {
                string[] ids = Console.ReadLine()
                               .Split(" ", StringSplitOptions.RemoveEmptyEntries)
                               .ToArray();

                if (IsRectangleExists(rectangles, ids[0]) && IsRectangleExists(rectangles, ids[1]))
                {
                    Rectangle firstRectangle  = GetRectangle(rectangles, ids[0]);
                    Rectangle secondRectangle = GetRectangle(rectangles, ids[1]);
                    bool      isIntersect     = Rectangle.IsIntersect(firstRectangle, secondRectangle);
                    Console.WriteLine(isIntersect.ToString().ToLower());
                }
            }
        }
        public static void Main(string[] args)
        {
            List <Rectangle> rectangles = new List <Rectangle>();

            int[] input = Console.ReadLine()
                          .Split().Select(int.Parse)
                          .ToArray();

            int rectanglesNumber   = input[0];
            int intersectionChecks = input[1];

            for (int i = 0; i < rectanglesNumber; i++)
            {
                string[] rectangleData = Console.ReadLine().Split();

                string id     = rectangleData[0];
                double width  = double.Parse(rectangleData[1]);
                double height = double.Parse(rectangleData[2]);
                double x      = double.Parse(rectangleData[3]);
                double y      = double.Parse(rectangleData[4]);

                Rectangle rectangle = new Rectangle(id, width, height, x, y);

                rectangles.Add(rectangle);
            }

            for (int i = 0; i < intersectionChecks; i++)
            {
                string[] pairsOfIds = Console.ReadLine().Split();
                string   firstId    = pairsOfIds[0];
                string   secondId   = pairsOfIds[1];

                Rectangle firstRectangle  = rectangles.Where(r => r.Id == firstId).FirstOrDefault();
                Rectangle secondRectangle = rectangles.Where(r => r.Id == secondId).FirstOrDefault();

                if (firstRectangle.IsIntersect(secondRectangle))
                {
                    Console.WriteLine("true");
                }
                else
                {
                    Console.WriteLine("false");
                }
            }
        }