コード例 #1
0
        static void Main(string[] args)
        {
            int[]            checks     = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
            List <Rectangle> rectangles = new List <Rectangle>();

            for (int i = 0; i < checks[0]; i++)
            {
                string[] rectangleParams = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                rectangles.Add(new Rectangle(rectangleParams[0], double.Parse(rectangleParams[1]), double.Parse(rectangleParams[2]), double.Parse(rectangleParams[3]), double.Parse(rectangleParams[4])));
            }

            for (int i = 0; i < checks[1]; i++)
            {
                string[]  rects = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                Rectangle r1    = rectangles.Where(r => r.ID == rects[0]).FirstOrDefault();
                Rectangle r2    = rectangles.Where(r => r.ID == rects[1]).FirstOrDefault();
                Console.WriteLine(r1.Intersection(r2));
            }
        }
コード例 #2
0
        public static void Main(string[] args)
        {
            int[] nums = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
            int   numberOfRectangles = nums[0];
            int   interxectionChecks = nums[1];

            Dictionary <string, Rectangle> dict = new Dictionary <string, Rectangle>();

            for (int i = 0; i < numberOfRectangles; i++)
            {
                string[] rectangles = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                string   id         = rectangles[0];
                double   width      = double.Parse(rectangles[1]);
                double   height     = double.Parse(rectangles[2]);
                double   horizontal = double.Parse(rectangles[3]);
                double   vertical   = double.Parse(rectangles[4]);

                if (!dict.ContainsKey(id))
                {
                    dict.Add(id, new Rectangle(id, width, height, horizontal, vertical));
                }
                else
                {
                    dict[id] = new Rectangle(id, width, height, horizontal, vertical);
                }
            }

            for (int i = 0; i < interxectionChecks; i++)
            {
                string[] info = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                Rectangle first  = dict[info[0]];
                Rectangle second = dict[info[1]];
                Console.WriteLine(first.Intersection(second).ToLower());
            }
        }