State rinnovando un hotel e state introducendo un nuovo sistema di chiavi per aprire le porte. L'attuale sistema di chiavi ha un problema, a volte gli ospiti se ne vanno con le chiavi oppure le smarriscono, optate per un sistema a chiavi magnetiche. Ogni carta e ogni porta ha un numero segreto contenuto in essa. Se il numero sulla chiave corrisponde al numero della porta, allora quest'ultima si apre. In questo modo si può cambiare il numero della chiave per ogni nuovo ospite cosicché una vecchia chiave non funziona più. Ahhh, ma c'è un problema! In qualche modo la porta dovrebbe sapere qual è il nuovo numero ogni volta che un nuovo ospite fa il check-in.
Il tuo primo pensiero quindi è quello di collegare tutte le porte ad una rete di computer. Ogni volta che si imposta un nuovo numero su una chiave, si invia anche un messaggio in rete alla porta appropriata, dicendole il suo nuovo numero. Il problema è che questo risulta essere molto costoso - ogni porta diventa un computer molto più complesso che deve essere collegato ad una rete in qualche modo. Inoltre dovresti anche essere sicuro che la rete a cui sono collegate le porte non possa essere violata permettendo a qualcuno di ascoltare o modificare i numeri delle porte. Dunque vuoi che una porta possa ricevere l'informazione della nuova chiave solo se la tessera viene inserita nell'apposita fessura sulla porta.
Una seconda idea è che un portiere porterebbe con sé una chiave Master (cioè una con un numero speciale che tutte le porte sanno) e che contenga anche il nuovo codice da passare alla porta. Il problema è che non tutti gli ospiti vogliono un facchino che li accompagni, alcuni ospiti perfino si rifiutano esplicitamente. Incaricare invece il personale di farlo tra un ospite e l'altro richiederebbe del lavoro extra, e il tuo personale non sarebbe contento.
Il sistema quindi deve funzionare in modo tale che le porte non siano collegate in alcun modo a una rete. Tutto quello che il nuovo ospite deve fare è prendere la sua chiave magnetica, e quella nuova chiave con il nuovo numero da quel momento in poi aprirà la porta appropriata. Tuttavia chiunque avesse una vecchia chiave, non dev'essere in grado di entrare. Il personale dell'hotel può rimanere alla reception. Inoltre un ulteriore problema a cui prestare attenzione nella tua soluzione è che un nuovo ospite che confonde sbadatamente la stanza non dovrebbe chiudere fuori nessun' altro ospite.
Come fate?