Fixed the algorithm for picking teams

This commit is contained in:
Data-Name-ID
2024-04-03 08:44:53 +03:00
parent 37a88865b6
commit 393109a135
2 changed files with 6 additions and 6 deletions
+5 -5
View File
@@ -2,11 +2,10 @@ from collections import deque
def get_teams(event): # noqa: C901, PLR0912 def get_teams(event): # noqa: C901, PLR0912
members_max = 3 members_max = 5
min_front = 1 min_front = 2
min_back = 2 min_back = 2
def bfs(tree): def bfs(tree):
result = [] result = []
queue = deque([tree]) queue = deque([tree])
@@ -48,9 +47,10 @@ def get_teams(event): # noqa: C901, PLR0912
users = {} users = {}
for user in db_users: for user in db_users:
users[str(user.id)] = tuple(bfs(user.skills)) users[str(user.id)] = tuple(bfs(user.skills)[1:])
print(users)
frontend_users, backend_users = sort_and_divide_users(users) frontend_users, backend_users = sort_and_divide_users(users)
print(frontend_users, backend_users)
teams = [] teams = []
while len(frontend_users) >= min_front and len(backend_users) >= min_back: while len(frontend_users) >= min_front and len(backend_users) >= min_back:
try: try:
+1 -1
View File
@@ -5,8 +5,8 @@ from rest_framework.viewsets import ModelViewSet
from api.events.models import Event from api.events.models import Event
from api.events.serializers import EventSerializer from api.events.serializers import EventSerializer
from api.users.serializers import UserSerializer
from api.events.utils import get_teams from api.events.utils import get_teams
from api.users.serializers import UserSerializer
class EventViewSet(ModelViewSet): class EventViewSet(ModelViewSet):