Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Problem05TeamworkProjects
- {
- class Program
- {
- static void Main(string[] args)
- {
- int teamsCount = int.Parse(Console.ReadLine());
- List<Team> teams = new List<Team>();
- for (int i = 1; i <= teamsCount; i++)
- {
- string[] userAndTeam = Console.ReadLine().Split('-');
- string creator = userAndTeam[0];
- string teamName = userAndTeam[1];
- var team = new Team(teams, creator, teamName);
- teams.Add(team);
- }
- string command = Console.ReadLine();
- while (command != "end of assignment")
- {
- string[] userToJoin = Console.ReadLine().Split("->");
- string user = userToJoin[0];
- string teamNameToJoin = userToJoin[1];
- bool doesPlayerExist = false;
- foreach (var team in teams)
- {
- foreach (var member in team.Members)
- {
- if (member == user)
- {
- doesPlayerExist = true;
- }
- }
- }
- if (!doesPlayerExist)
- {
- bool doesTeamNameExists = false;
- foreach (var team in teams)
- {
- if (team.Name == teamNameToJoin)
- {
- team.Members.Add(user);
- doesTeamNameExists = true;
- }
- }
- if (!doesTeamNameExists)
- {
- Console.WriteLine($"Team {teamNameToJoin} does not exist!");
- }
- }
- else
- {
- Console.WriteLine($"Member {user} cannot join team {teamNameToJoin}!");
- }
- command = Console.ReadLine();
- }
- List<Team> disbanded = new List<Team>();
- for (int i = 0; i < teams.Count; i++)
- {
- if (teams[i].Members.Count == 1)
- {
- disbanded.Add(teams[i]);
- teams.Remove(teams[i]);
- }
- }
- foreach (var team in teams.OrderBy(x => x.Name))
- {
- Console.WriteLine($"{team.Name}");
- Console.WriteLine($"- {team.Creator}");
- for (int i = 1; i < team.Members.Count; i++)
- {
- Console.WriteLine($"-- {team.Members[i]}");
- }
- }
- }
- }
- class Team
- {
- public string Creator;
- public string Name;
- public List<string> Members = new List<string>();
- public Team(List<Team> teams, string creator, string name)
- {
- foreach (var team in teams)
- {
- if (team.Name == name)
- {
- Console.WriteLine($"Team {team.Name} was already created!");
- return;
- }
- if (team.Creator == creator)
- {
- Console.WriteLine($"{team.Creator} cannot create another team!");
- return;
- }
- }
- Creator = creator;
- Name = name;
- Members.Add(creator);
- Console.WriteLine($"Team {name} has been created by {creator}!");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement