Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void Main(string[] args)
- {
- List<Creature> creatures = new List<Creature>();
- string[] input = Console.ReadLine()
- .Split(' ');
- while (input[0] != "Blaze")
- {
- string creatureName = input[0];
- string squadMateName = input[2];
- SquadMate squadMate = new SquadMate();
- squadMate.MateName = squadMateName;
- if (creatures.Any(x => x.CreatureName == creatureName) == false)
- {
- Creature creature = new Creature();
- creature.CreatureName = creatureName;
- creature.SquadMates = new List<SquadMate>();
- creature.SquadMates.Add(squadMate);
- creatures.Add(creature);
- input = Console.ReadLine()
- .Split(' ');
- continue;
- }
- if (creatures.Any(x => x.CreatureName == creatureName))
- {
- Creature existingCreature = creatures.First(x => x.CreatureName == creatureName);
- List<SquadMate> existingSquadMates = existingCreature.SquadMates;
- if (existingSquadMates.Any(x => x.MateName == squadMateName) == false)
- {
- existingSquadMates.Add(squadMate);
- }
- input = Console.ReadLine()
- .Split(' ');
- continue;
- }
- input = Console.ReadLine()
- .Split(' ');
- }
- foreach (Creature creature in creatures)
- {
- string name = creature.CreatureName;
- List<SquadMate> squadMates = creature.SquadMates;
- foreach (Creature cr in creatures)
- {
- string nextCreatureName = cr.CreatureName;
- List<SquadMate> nextSquadMates = cr.SquadMates;
- if (squadMates.Any(x => x.MateName == nextCreatureName) && nextSquadMates.Any(x => x.MateName == name))
- {
- squadMates.RemoveAll(x => x.MateName == nextCreatureName);
- nextSquadMates.RemoveAll(x => x.MateName == name);
- }
- }
- }
- foreach (Creature creature in creatures)
- {
- Console.WriteLine(creature.CreatureName + " : " + creature.SquadMates.Count);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement