Ho una collezione di persone. Ogni persona ha una classifica (A, B, C, D dove A massimo e D più basso) e un insieme di abilità (SkillA, SkillB, SkillC, SkillD) definite. Ho anche una serie di requisiti, ad esempio: - 1 persona con grado A - 1 persona con grado B e SkillA - 3 persone con grado C e SkillA e SkillC ecc.
Sto cercando un approccio migliore per verificare se esiste una combinazione di persone nella raccolta che soddisfi i requisiti stabiliti. Una persona non può essere utilizzata per due requisiti.
Sto usando .NET e al momento sto cercando di risolvere il problema con le query LINQ, ma nel frattempo mi interessa se c'è un altro modo per approcciarlo.