Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    Scusate se riapro il post... per quelli che ne hanno bisogno:
    con un algoritmo BackTrack si risolvono i sudoku intorno ai 2.216 secondi(tempo di esecuzione del sudoku "più difficile del mondo" http://www.focus.it/tecnologia/digit...do-123-6132-81).

    Non è dunque necessario utilizzare gli algoritmi che avevo scritto inizialmente.
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  2. #2
    Quote Originariamente inviata da g.b99pm10 Visualizza il messaggio
    Scusate se riapro il post... per quelli che ne hanno bisogno:
    con un algoritmo BackTrack si risolvono i sudoku intorno ai 2.216 secondi(tempo di esecuzione del sudoku "più difficile del mondo" http://www.focus.it/tecnologia/digit...do-123-6132-81).

    Non è dunque necessario utilizzare gli algoritmi che avevo scritto inizialmente.
    Ciao qui puoi trovare una versione in C/C++ da linea di comando che lo risolve in meno di 13 centesimi di secondo, a discesa ricorsiva esaustiva:
    https://github.com/isghe/sudoku

    codice:
    $ uname -a
    Darwin isghe-MacBook-Pro-3.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
    $ time ./sudoku.out example/focus.sdk 
    main: isi::GetGnuVersion (): 4;
    __FILE__: main.cpp;
    __DATE__: Jun 26 2014;
    __TIME__: 14:00:04;
    main: isi::BoolToStr (isi::IsDebugVersion ()): false;
    my_main: theFileName: example/focus.sdk;
    my_main: std::count_if (aCell, aCell + kDim * kDim, IsInitValue): 23;
    aRow:
        0,     0,     5,     3,     0,     0,     0,     0,     0, 
        8,     0,     0,     0,     0,     0,     0,     2,     0, 
        0,     7,     0,     0,     1,     0,     5,     0,     0, 
        4,     0,     0,     0,     0,     5,     3,     0,     0, 
        0,     1,     0,     0,     7,     0,     0,     0,     6, 
        0,     0,     3,     2,     0,     0,     0,     8,     0, 
        0,     6,     0,     5,     0,     0,     0,     0,     9, 
        0,     0,     4,     0,     0,     0,     0,     3,     0, 
        0,     0,     0,     0,     0,     9,     7,     0,     0, 
    HandleNextRecursive: aCurrentSolution: 1;
    HandleNextRecursive: gNumOfCall: 31033;
    HandleNextRecursive: static_cast <double >(gNumOfCall)/aCurrentSolution: 31033;
    theRowVector:
        1,     4,     5,     3,     2,     7,     6,     9,     8, 
        8,     3,     9,     6,     5,     4,     1,     2,     7, 
        6,     7,     2,     9,     1,     8,     5,     4,     3, 
        4,     9,     6,     1,     8,     5,     3,     7,     2, 
        2,     1,     8,     4,     7,     3,     9,     5,     6, 
        7,     5,     3,     2,     9,     6,     4,     8,     1, 
        3,     6,     7,     5,     4,     2,     8,     1,     9, 
        9,     8,     4,     7,     6,     1,     2,     3,     5, 
        5,     2,     1,     8,     3,     9,     7,     6,     4, 
    HandleNextRecursive: BoolToStr (IsGoodSolution (theSchema)): true;
    my_main: isi::gNumOfCall: 1329262;
    my_main: isi::gNumOfSolution: 1;
    main: rit: 0;
    main: std::clock () - aStart: 128584;
    
    
    real    0m0.134s
    user    0m0.127s
    sys    0m0.005s

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.