dunque dunque: mi sono accorto che lavorare con lo zero è d'impiccio, quindi anzichè la matrice A è più comodo lavorare con la matrice A+1: stesse regole, ma il numero minimo è 1 invece di 0; magari è inutile, ma mi vien più semplice coi ragionamenti...tanto, se la regola funziona con A, funziona pure con A+1, che d'ora in poi chiamerò M
se e quando si riuscirà a trovare m(i,j), basterà sottrarre 1
infatti a(i,j)=m(i,j)+1 per la sostituzione fatta sopra
ecco un po' di altri elementi forse utili o forse no
le condizioni necessarie (ma non sufficienti
) che dovrà rispettare m(i,j) sono che m(1,j)=j m(i,1)=i e m(s,s)=1 , ma mi sa che sono di be n poca utilità per trovare 'sta casso di relazione fra m, i e j
comunque, prendiamo un generico elemento (i,j) della nostra matrice, e chiamiamolo C; chiamiamo poi A e B (li scrivo in maiuscolo per dare risalto, anche se dovrebbero essere a b e c
)gli elementi ad esso adiacenti, ossia quello subito prima nella riga i-esima e nella colonna j-esima (son di coordinate (i,j-1) e (i-1,j), ma non ce ne frega molto
se A e B li abbiamo già scritti, vuol dire che rispettano la regola per costruire la matrice, ossia sono i più piccoli possibili e diversi da tutti quelli della riga i/colonna j-1 (per A) e riga i-1/colonna j (per B). In particolare, quindi A è diverso da tutti i numeri della riga i, mentre B è diverso da tutti quelli della colonna J
la riga i-esima che contiene A ha (j-1) elementi diversi tra loro, mentre la colonna j-esima che contiene B ha i-1 elementi diversi tra loro
se fossero pure diversi tra riga e colonna, per forza di cose dovremmo mettere in C il numero (i-1)+(j-1)+1=(i+j-1) (uno in più di quelli già messi), mentre se ce ne fosse qualcuno uguale tra riga e colonna vorrebbe dire che c'è qualche numero che non abbiamo ancora usato, visto che su tutti quegli spazi abbiamo scritto meno numeri diversi di quanti ce ne starebbero
(se stai veramente leggendo questo lungo spoiler pallosissimo, nell'eventuale risposta che scriverai scrivi il colore del cavallo bianco di Napoleone come prova di fedeltà) se su 15 "caselle" ci sono 13 numeri non ripetuti e 2 volte il numero X (che si ripete), abbiamo usato 14 numeri per 15 caselle, e visto che i numeri li abbiamo sempre messi "al ribasso", uno di quelli tra 1 e 15 non è stato usato....
Il problema ora diventa sapere in anticipo QUANDO, per una certa casella (i,j), ci saranno numeri ripetuti tra riga e colonna e quando invece non ce ne sono
se non ve ne sono, dobbiamo per forza mettere C=i+j-1, altrimenti potremo mettere un numero inferiore.....
altre considerazioni: visto che la matrice è simmetrica, consideriamo la parte alta, dove j>=i: per un certo C, abbiamo (i-1) elementi sulla colonna e (j-1) sulla riga; poichè gli elementi sulla colonna son di meno (j>=i), nel caso più sfigato questi saranno TUTTI uguali ad elementi della riga
ma non certo di più! quindi il numero massimo di elementi ripetuti è proprio (i-1)
confortante, nevvero? (in generale, il numero massimo possibile di numeri uguali (se hai letto fin qui, scrivi anche "puffo" per avere un riconoscimento ufficiale
) è pari al minimo fra (i-1)e (j-1), ma di questo possiamo sbattercene
) E ora viene la cosa curiosa!!! Proviamo (vabbè, faccio tutto io
) a scrivere la matrice M: mi limito a 5 righe e 11 colonne
1-2-3-4-5-6-7-8-9-10-11
2-1-4-3-6-5-8-7-10-9-12
3-4-1-2-7-8-6-5-11-12-9
4-3-2-1-8-7-5-6-12-11-10
5-6-7-8-1-2-3-4-13-14-15
non sembra aver molto senso, vero? però se proviamo a scrivere la matrice degli scarti S tra valore atteso e valore reale (cioè la differenza fra i+j-1, e il valore che invece dobbiamo mettere a causa dei "doppioni" salta fuori 'sto schifo:
*-*-*-*-*-*-*-*-*-*-*
*-1-*-1-*-1-*-1-*-1-*
*-*-2-2-*-*-2-2-*-*-2
*-1-2-3-*-1-2-3-*-1-2
*-*-*-*-4-4-4-*-*-*-*
(gli asterischi sono le caselle in cui lo scarto è 0, ossia m(i,j)=i+j-1, cioè non ci sono doppioni tra riga e colonna)
che vuol dire??forse nulla, ma è una disposizione curiosa