in questa domanda OP ha presentato un sito in cui sono disponibili alcuni enigmi. Ha descritto il problema di risolverli. Ero curioso che fosse davvero così problematico. Il primo è stato davvero facile, quindi questa volta ho provato il prossimo, che dovrebbe essere il più difficile ( puzzle) .
E qui ho qualche problema nel sottovalutarlo o probabilmente sto scherzando qualcosa.
Fai attenzione all'esempio:
Dati:
M1 C1 C2 277317
M2 C2 C1 26247
M3 C1 C3 478726
M4 C3 C1 930382
M5 C2 C3 370287
M6 C3 C2 112344
Risultato:
617317
2 3 6
Il mio problema è che si basa sul presupposto che
any one compound can be used in a chemical reaction to create any other compound
La soluzione potrebbe essere
508878
2 6 5
Perché? Nel contenuto del compito, non abbiamo tristezza sul fatto che dobbiamo iniziare con uno composto quindi da ottenere due poi da due, tre ecc.
Quindi il risultato dovrebbe essere quello di avere tutti i composti più economici, partendo dal presupposto che non abbiamo bisogno di preoccuparci di come è stato creato. Quindi questo riduce il nostro problema a strutturare in questo modo.
M1 C2 277317
M2 C1 26247
M3 C3 478726
M4 C1 930382
M5 C3 370287
M6 C2 112344
E da questa lista dovremmo scegliere il costo più basso per ogni composto.
Quindi, come ha raggiunto la soluzione, 2 3 6
?
Secondo me hanno usato una logica complessa per questo, la loro ipotesi di base era che
C1 - > C2 è lo stesso di C2 - > C1 quindi hanno usato un rank (codice hash)
17 * 37 * 1 * 2 == 17 * 37 * 2 * 1
(per questo post ho usato una rappresentazione più semplice usando il bit shift e il bit-wise o quello è più meno lo stesso)
M1 001 | 010 = 011 277317
M2 010 | 001 = 011 26247
M3 001 | 100 = 101 478726
M4 100 | 001 = 101 930382
M5 010 | 100 = 110 370287
M6 100 | 010 = 110 112344
Dopo tale operazione l'insieme di soluzioni viene ridotto a questo modulo
M1 3 277317
M2 3 26247
M3 5 478726
M4 5 930382
M5 6 370287
M6 6 112344
Quindi ora non ho le informazioni sui composti, ma solo un grado che fornisce la soluzione.
All'inizio avevamo tre mescole con tre ranghi, quindi le giunzioni sono corrette e il risultato è lo stesso che nell'esempio (costo 508878 macchine 2 6 5).
La mia osservazione è che il contenuto del puzzle è molto divertente ma ha molti buchi nella limitazione del metodo che dovrebbe essere applicato per ottenere il risultato.
Quindi, concludendo, cosa sto scherzando?