Anagrammes – Épreuve régionale 2003

Niveau 4

Énoncé

Des anagrammes sont des mots qui, lorsque l'on change l'ordre de leurs lettres, donnent un autre mot. Les deux mots forment un couple d'anagrammes. Par exemple : chien/niche, limace/malice, image/magie, olive/voile.

On vous donne en paramètre une chaîne de caractères, contenant des mots formés de lettres minuscules sans accents, séparés par des espaces (une seul espace entre chaque paire de mots). Écrivez une fonction qui détermine combien de couples d'anagrammes on peut former à partir des mots de cette chaîne.

Un même mot peut apparaître dans deux couples, du moment que le deuxième mot du couple n'est pas le même. Attention, la chaîne peut contenir des mots en double ! Veillez à ne pas compter deux fois le même couple d'anagrammes!

Entrée

Vous devez lire deux lignes sur l'entrée :

  • La première ligne contient un entier $L$ : le nombre de caractères de la chaîne.
  • La deuxième ligne contient la chaîne de caractères.

Sortie

Vous devez écrire une ligne sur la sortie :

  • Le nombre de couples d'anagrammes formés à partir des mots de la chaîne.

Contraintes

  • $1 \le L \le 200$

Contraintes d'exécution

Utilisation mémoire maximum
1000 kilo-octets
Temps d'exécution maximum
250 millisecondes

Exemples d'entrée/sortie

Exemple d'entrée
103
le chien marche vers sa niche et trouve une limace de chine nue pleine de malice qui lui fait du charme
Exemple de sortie
6