From 393109a135431f36abd9ecb80205c283a6d26530 Mon Sep 17 00:00:00 2001 From: Data-Name-ID Date: Wed, 3 Apr 2024 08:44:53 +0300 Subject: [PATCH] Fixed the algorithm for picking teams --- backend/project/api/events/utils.py | 10 +++++----- backend/project/api/events/views.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/project/api/events/utils.py b/backend/project/api/events/utils.py index 817cc55..de24332 100644 --- a/backend/project/api/events/utils.py +++ b/backend/project/api/events/utils.py @@ -2,11 +2,10 @@ from collections import deque def get_teams(event): # noqa: C901, PLR0912 - members_max = 3 - min_front = 1 + members_max = 5 + min_front = 2 min_back = 2 - def bfs(tree): result = [] queue = deque([tree]) @@ -48,9 +47,10 @@ def get_teams(event): # noqa: C901, PLR0912 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) + print(frontend_users, backend_users) teams = [] while len(frontend_users) >= min_front and len(backend_users) >= min_back: try: diff --git a/backend/project/api/events/views.py b/backend/project/api/events/views.py index 92273c6..4cc0d86 100644 --- a/backend/project/api/events/views.py +++ b/backend/project/api/events/views.py @@ -5,8 +5,8 @@ from rest_framework.viewsets import ModelViewSet from api.events.models import Event from api.events.serializers import EventSerializer -from api.users.serializers import UserSerializer from api.events.utils import get_teams +from api.users.serializers import UserSerializer class EventViewSet(ModelViewSet):