quando scrivi :

codice:
  if (it != n.end())
la chiamata n.end() implica che l'iteratore it scorra le chiavi della mappa dall'inizio alla fine?