diff --git a/arand/src/RandomAutomatonFactory.cpp b/arand/src/RandomAutomatonFactory.cpp index c530569cf14562884cdee750a5e68925fbc47611..f539e470a10604f2d1d1de1697c3befcd2b04022 100644 --- a/arand/src/RandomAutomatonFactory.cpp +++ b/arand/src/RandomAutomatonFactory.cpp @@ -130,8 +130,14 @@ FSM RandomAutomatonFactory::LeslieConnectedNFA( size_t n, const deque<Symbol> & automata.addFinalState( q ); } - if( n == 1 ) - automata.addFinalState( * automata.getInitialStates( ).begin( ) ); + if( automata.getFinalStates( ).size( ) == 0 ) + { + if( n == 1 ) + automata.addFinalState( * automata.getInitialStates( ).begin( ) ); + else + //todo: change + automata.addFinalState( * automata.getInitialStates( ).begin( ) ); + } double mnn100 = 100.0 / alphabet.size( ) / n / n; while( automata.getTransitions( ).size( ) * mnn100 < density )