#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jan  9 20:59:16 2026
@author: Lluís Vila
(c) 2025-26
"""

def compute_likedby_dict(likesD):
    
    likedbyD = {}
    for i1, likeL in likesD.items():
        if i1 not in likedbyD:
                likedbyD[i1] = []
        for i2 in likeL:
            if i2 not in likedbyD:
                likedbyD[i2] = [i1]
            else:
                likedbyD[i2].append(i1)
            
    for likeL in likedbyD.values():
        likeL.sort() 
        
    return likedbyD
                
                
def compute_matches_list(likesD):
    
    matchesL = []
    for i1, likeL in likesD.items():
        for i2 in likeL:
            if i1 in likesD[i2]:
                t = tuple(sorted((i1, i2)))
                if t not in matchesL:
                    matchesL.append(t)
                    
    matchesL.sort()
    
    return matchesL

'''
def compute_matches_dict(likesD):
    
    matchesD = {}
    for i1, likeL in likesD.items():
        for i2 in likeL:
            if i1 in likesD[i2]:
                update_dict(matchesD, i1, i2) 
                update_dict(matchesD, i2, i1) 
    for l in matchesD.values():
        l.sort()
    return matchesD

def update_dict(d, i1, i2):
    if i1 not in d:
        d[i1] = [i2]
    else:
        if i2 not in d[i1]:
            d[i1].append(i2)
'''
    
