Untitled

 avatar
unknown
csharp
2 years ago
1.7 kB
9
Indexable
using System;
using System.Collections.Generic;
using System.Linq;

namespace Day42022
{
    class Range
    {
        public int Big { get; set; }
        public int Small { get; set; }
    }
    class Program
    {
        public static List<string> Input => System.IO.File.ReadAllLines(@"input.txt").ToList();
        static void Main(string[] args)
        {
            int Cover = 0;
            int Overlap = 0;
            foreach (var line in Input)
            {
                var FirstRange = new Range()
                {
                    Big = int.Parse(line.Split(',')[0].Split('-')[0]),
                    Small = int.Parse(line.Split(',')[0].Split('-')[1])
                };
                var SecondRange = new Range()
                {
                    Big = int.Parse(line.Split(',')[1].Split('-')[0]),
                    Small = int.Parse(line.Split(',')[1].Split('-')[1])
                };
                if (Covered(FirstRange, SecondRange))
                {
                    Cover++;
                }
                if (Overlaps(FirstRange, SecondRange))
                {
                    Overlap++;
                }
            }
            Console.WriteLine(Cover);
            Console.WriteLine(Overlap);
            Console.ReadLine();
        }
        public static bool Covered(Range left, Range right)
        {
            return (left.Big >= right.Big && left.Small <= right.Small) || (left.Big <= right.Big && left.Small >= right.Small);
        }
        public static bool Overlaps(Range left, Range right)
        {
            return left.Big <= right.Small && right.Big <= left.Small;
        }
    }
}
Editor is loading...