Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Teamwork_Projects
- {
- class Team
- {
- public string Name { get; set; }
- public string Creator { get; set; }
- public List<string> Members { get; set; }
- }
- class Program
- {
- static void Main(string[] args)
- {
- int countOfTeams = int.Parse(Console.ReadLine());
- var teams = new List<Team>();
- for (int i = 0; i < countOfTeams; i++)
- {
- var info = Console.ReadLine().Split('-');
- var creator = info[0];
- var teamname = info[1];
- if (teams.Any(x => x.Name == teamname))
- {
- Console.WriteLine($"Team {teamname} was already created!");
- }
- else if(teams.Any(x=>x.Creator==creator))
- {
- Console.WriteLine($"{creator} cannot create another team!");
- }
- else
- {
- var team = new Team();
- teams.Add(team);
- team.Name = teamname;
- team.Creator = creator;
- team.Members = new List<string>();
- Console.WriteLine($"Team {teamname} has been created by {creator}!");
- }
- }
- var line = Console.ReadLine();
- while(line!="end of assignment")
- {
- var user = line.Split(new string[] { "->" }, StringSplitOptions.None)[0];
- var teamToJoin = line.Split(new string[] { "->" }, StringSplitOptions.None)[1];
- if (!teams.Any(x => x.Name == teamToJoin))
- {
- Console.WriteLine($"Team {teamToJoin} does not exist!");
- }
- else if (teams.Any(x => x.Creator == user || teams.Any(t => t.Members.Any(g => g == user))))
- {
- Console.WriteLine($"Member {user} cannot join team {teamToJoin}!");
- }
- else
- {
- var currentTeam=teams.First(x => x.Name == teamToJoin);
- currentTeam.Members.Add(user);
- }
- line = Console.ReadLine();
- }
- var completedTeams = teams.Where(x => x.Members.Count>0);
- var disbandedTeams = teams.Where(x => x.Members.Count == 0);
- foreach (var team in completedTeams.OrderByDescending(x=>x.Members.Count).ThenBy(y=>y.Name))
- {
- Console.WriteLine($"{team.Name}");
- Console.WriteLine($"- {team.Creator}");
- foreach(var member in team.Members.OrderBy(x => x))
- {
- Console.WriteLine($"-- {member}");
- }
- }
- Console.WriteLine("Teams to disband:");
- if (disbandedTeams != null)
- {
- foreach (var team in disbandedTeams.OrderBy(x=>x.Name))
- {
- Console.WriteLine($"{team.Name}");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement