Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            List <Rebel>   rebels   = new List <Rebel>();
            List <Citizen> citizens = new List <Citizen>();

            int numberOfPeople = int.Parse(Console.ReadLine());

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

                if (currentPerson.Length == 3)
                {
                    //<name> <age><group>

                    string name  = currentPerson[0];
                    int    age   = int.Parse(currentPerson[1]);
                    string group = currentPerson[2];

                    Rebel person = new Rebel(name, age, group);
                    rebels.Add(person);
                }

                if (currentPerson.Length == 4)
                {
                    //<name> <age> <id> <birthdate>

                    string name      = currentPerson[0];
                    int    age       = int.Parse(currentPerson[1]);
                    string id        = currentPerson[2];
                    string birthdate = currentPerson[3];

                    Citizen person = new Citizen(name, age, id, birthdate);
                    citizens.Add(person);
                }
            }

            string currentName = Console.ReadLine();

            while (currentName != "End")
            {
                if (rebels.Any(x => x.Name == currentName))
                {
                    Rebel currentRebel = rebels.FirstOrDefault(x => x.Name == currentName);
                    currentRebel.BuyFood();
                }

                if (citizens.Any(x => x.Name == currentName))
                {
                    Citizen currentCitizen = citizens.FirstOrDefault(x => x.Name == currentName);
                    currentCitizen.BuyFood();
                }

                currentName = Console.ReadLine();
            }

            int totalFood = citizens.Sum(x => x.Food) + rebels.Sum(x => x.Food);

            Console.WriteLine(totalFood);
        }
Ejemplo n.º 2
0
        public void Run()
        {
            List <Citizen> citizens = new List <Citizen>();

            int peopeCount = int.Parse(Console.ReadLine());

            for (int i = 0; i < peopeCount; i++)
            {
                string[] citizenArguments = Console.ReadLine().Split(" ");
                string   name             = citizenArguments[0];
                int      age = int.Parse(citizenArguments[1]);

                if (citizenArguments.Length == 4)
                {
                    string   id        = citizenArguments[2];
                    DateTime birthdate = DateTime.ParseExact(citizenArguments[3], "dd/MM/yyyy", null);

                    Person person = new Person(name, age, id, birthdate);

                    citizens.Add(person);
                }
                else if (citizenArguments.Length == 3)
                {
                    string group = citizenArguments[2];

                    Rebel rebel = new Rebel(name, age, group);

                    citizens.Add(rebel);
                }
            }

            string command = Console.ReadLine();

            while (command != "End")
            {
                Citizen currentCitizen = citizens.FirstOrDefault(x => x.Name == command);

                if (currentCitizen != null)
                {
                    currentCitizen.BuyFood();
                }

                command = Console.ReadLine();
            }

            Console.WriteLine(citizens.Sum(x => x.Food));
        }