Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.69 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Problem05TeamworkProjects
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. int teamsCount = int.Parse(Console.ReadLine());
  12.  
  13. List<Team> teams = new List<Team>();
  14.  
  15. for (int i = 1; i <= teamsCount; i++)
  16. {
  17. string[] userAndTeam = Console.ReadLine().Split('-');
  18.  
  19. string creator = userAndTeam[0];
  20. string teamName = userAndTeam[1];
  21.  
  22. var team = new Team(teams, creator, teamName);
  23. teams.Add(team);
  24. }
  25.  
  26. string command = Console.ReadLine();
  27.  
  28. while (command != "end of assignment")
  29. {
  30. string[] userToJoin = Console.ReadLine().Split("->");
  31.  
  32. string user = userToJoin[0];
  33. string teamNameToJoin = userToJoin[1];
  34.  
  35. bool doesPlayerExist = false;
  36. foreach (var team in teams)
  37. {
  38. foreach (var member in team.Members)
  39. {
  40. if (member == user)
  41. {
  42. doesPlayerExist = true;
  43. }
  44. }
  45. }
  46.  
  47. if (!doesPlayerExist)
  48. {
  49. bool doesTeamNameExists = false;
  50. foreach (var team in teams)
  51. {
  52. if (team.Name == teamNameToJoin)
  53. {
  54. team.Members.Add(user);
  55. doesTeamNameExists = true;
  56. }
  57. }
  58.  
  59. if (!doesTeamNameExists)
  60. {
  61. Console.WriteLine($"Team {teamNameToJoin} does not exist!");
  62. }
  63. }
  64. else
  65. {
  66. Console.WriteLine($"Member {user} cannot join team {teamNameToJoin}!");
  67. }
  68.  
  69. command = Console.ReadLine();
  70. }
  71.  
  72. List<Team> disbanded = new List<Team>();
  73.  
  74. for (int i = 0; i < teams.Count; i++)
  75. {
  76. if (teams[i].Members.Count == 1)
  77. {
  78. disbanded.Add(teams[i]);
  79. teams.Remove(teams[i]);
  80. }
  81. }
  82.  
  83. foreach (var team in teams.OrderBy(x => x.Name))
  84. {
  85. Console.WriteLine($"{team.Name}");
  86. Console.WriteLine($"- {team.Creator}");
  87. for (int i = 1; i < team.Members.Count; i++)
  88. {
  89. Console.WriteLine($"-- {team.Members[i]}");
  90. }
  91. }
  92.  
  93. }
  94. }
  95.  
  96. class Team
  97. {
  98. public string Creator;
  99. public string Name;
  100. public List<string> Members = new List<string>();
  101.  
  102. public Team(List<Team> teams, string creator, string name)
  103. {
  104. foreach (var team in teams)
  105. {
  106. if (team.Name == name)
  107. {
  108. Console.WriteLine($"Team {team.Name} was already created!");
  109. return;
  110. }
  111.  
  112. if (team.Creator == creator)
  113. {
  114. Console.WriteLine($"{team.Creator} cannot create another team!");
  115. return;
  116. }
  117. }
  118.  
  119. Creator = creator;
  120. Name = name;
  121. Members.Add(creator);
  122. Console.WriteLine($"Team {name} has been created by {creator}!");
  123. }
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement