Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Teamwork_Projects
  8. {
  9. class Team
  10. {
  11. public string Name { get; set; }
  12. public string Creator { get; set; }
  13. public List<string> Members { get; set; }
  14. }
  15. class Program
  16. {
  17. static void Main(string[] args)
  18. {
  19. int countOfTeams = int.Parse(Console.ReadLine());
  20. var teams = new List<Team>();
  21.  
  22. for (int i = 0; i < countOfTeams; i++)
  23. {
  24. var info = Console.ReadLine().Split('-');
  25. var creator = info[0];
  26. var teamname = info[1];
  27. if (teams.Any(x => x.Name == teamname))
  28. {
  29. Console.WriteLine($"Team {teamname} was already created!");
  30. }
  31. else if(teams.Any(x=>x.Creator==creator))
  32. {
  33. Console.WriteLine($"{creator} cannot create another team!");
  34. }
  35. else
  36. {
  37. var team = new Team();
  38. teams.Add(team);
  39. team.Name = teamname;
  40. team.Creator = creator;
  41. team.Members = new List<string>();
  42. Console.WriteLine($"Team {teamname} has been created by {creator}!");
  43. }
  44. }
  45. var line = Console.ReadLine();
  46. while(line!="end of assignment")
  47. {
  48. var user = line.Split(new string[] { "->" }, StringSplitOptions.None)[0];
  49. var teamToJoin = line.Split(new string[] { "->" }, StringSplitOptions.None)[1];
  50. if (!teams.Any(x => x.Name == teamToJoin))
  51. {
  52. Console.WriteLine($"Team {teamToJoin} does not exist!");
  53. }
  54. else if (teams.Any(x => x.Creator == user || teams.Any(t => t.Members.Any(g => g == user))))
  55. {
  56. Console.WriteLine($"Member {user} cannot join team {teamToJoin}!");
  57. }
  58. else
  59. {
  60. var currentTeam=teams.First(x => x.Name == teamToJoin);
  61. currentTeam.Members.Add(user);
  62. }
  63. line = Console.ReadLine();
  64. }
  65. var completedTeams = teams.Where(x => x.Members.Count>0);
  66. var disbandedTeams = teams.Where(x => x.Members.Count == 0);
  67. foreach (var team in completedTeams.OrderByDescending(x=>x.Members.Count).ThenBy(y=>y.Name))
  68. {
  69. Console.WriteLine($"{team.Name}");
  70. Console.WriteLine($"- {team.Creator}");
  71. foreach(var member in team.Members.OrderBy(x => x))
  72. {
  73. Console.WriteLine($"-- {member}");
  74. }
  75. }
  76. Console.WriteLine("Teams to disband:");
  77. if (disbandedTeams != null)
  78. {
  79. foreach (var team in disbandedTeams.OrderBy(x=>x.Name))
  80. {
  81. Console.WriteLine($"{team.Name}");
  82. }
  83. }
  84.  
  85. }
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement