« Moi j'ai quelque chose de beaucoup plus simple qui, tant qu'on laisse m à 15 reste sous le centième de seconde même
avec n=1000000. Par contre des qu'on touche à m… c'est long. *_* »
Oui, enfin, tout ceux qui ont passé le 4 l'ont aussi ;)
Il suffit de voir que résoudre la matrice transposée, c'est pareil.
« @pole : D'ailleurs, sur du 15x1M, ton algo renvoie un résultat faux, c'est normal ? je n'ai modifié que la variable
MAXY, il y a peut être autre chose ? »
Étrange, mais pas tant que ça me connaissant :/
Je fais des tests et je ne vois pas d'erreur. Aurais-tu un fichier d'exemple ?
« Pour les autres, l'idée :
1) On regarde ce que donne sur la dernière ligne les m 1-applications possibles sur la première ligne.
2) On regarde ce qu'il reste sur la dernière ligne après avoir dessiné les n-1 premières sans avoir appliqué le pinceau
sur la première ligne.
3) Pour les 2\^m combinaisons d'applications possibles sur la première ligne, on xor les (au plus m, au min 0)
dernières lignes calculés en 1) avec la dernière ligne calculé en 2). On regarde si obtient la dernière ligne souhaité.
»
Je reformule : on calcule chaque colonne de B en calculant A\^m*n vecteurs indépendants.
Ensuite, on résoud bourrinement le système d'équation en testant les 2\^n combinaisons linéaires (si on cherche bien,
on peut en trouver un O(n2\^(n/2)) ).