fork download
  1. #include <cstdio>
  2. #define WRITE( x ) x
  3. char used[ 6 ][ 6 ] = { { 0 } } ;
  4. WRITE( char path[ 64 ] ) ;
  5. int n_path ;
  6. void gen( int node , int level )
  7. {
  8. if( 2 == node )
  9. {
  10. ++n_path ;
  11. WRITE( path[ level ] = 0 ; printf( "%s\n" , path ) ) ;
  12. }
  13. for( int i( 1 ) ; i <= 5 ; ++i )
  14. {
  15. if( node == i || used[ node ][ i ] ) continue ;
  16. used[ node ][ i ] = used[ i ][ node ] = 1 ;
  17. WRITE( path[ level ] = i + '0' ) ;
  18. gen( i , level + 1 ) ;
  19. used[ node ][ i ] = used[ i ][ node ] = 0 ;
  20. }
  21. }
  22.  
  23. int main()
  24. {
  25. n_path = 0 ;
  26. WRITE( path[ 0 ] = '1' ) ;
  27. gen( 1 , 1 ) ;
  28. printf( "%d\n" , n_path ) ;
  29.  
  30. return 0 ;
  31. }
  32.  
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
12
123142
12314352
123143542
1231452
123145342
123152
12315342
123153452
1231542
123154352
12341352
123413542
1234152
12341542
12342
123451352
12345142
123452
123453142
123453152
12351342
123513452
1235142
12351452
12352
123541342
12354152
123542
123543142
123543152
124132
12413452
124134532
1241352
124135432
124152
1241532
124153452
12415432
124154352
12431452
124314532
1243152
12431532
12432
12435132
124351452
124352
124354132
124354152
1245132
12451352
12451432
124514352
12452
124531432
12453152
124532
124534132
124534152
125132
1251342
125134532
12513542
125135432
125142
1251432
125143542
12514532
125145342
1253142
12531432
12531542
125315432
12532
12534132
125341542
125342
125345132
125345142
1254132
12541342
12541532
125415342
12542
12543142
125431532
125432
125435132
125435142
132
132142
13214352
132143542
1321452
132145342
132152
13215342
132153452
1321542
132154352
132412
1324152
1324153452
1324154352
13243512
1324351452
1324352
132435412
1324354152
1324512
1324514352
132452
132453412
1324534152
132512
1325142
1325143542
1325145342
13253412
1325341542
1325342
132534512
1325345142
1325412
1325415342
132542
132543512
1325435142
13412
13412352
134123542
13412452
134124532
13412532
13412542
134152
1341523542
1341524532
1341532
1341532452
1341532542
1341542
1341542352
1341542532
1342
13421452
134214532
1342152
13421532
13423512
1342351452
1342352
134235412
1342354152
1342512
1342514532
1342532
13425412
1342541532
134512
134512352
134512532
1345142
1345142352
1345142532
13452
13452142
134521532
134523512
1345235142
13452412
1345241532
134532
134532142
134532152
134532412
1345324152
134532512
1345325142
13512
13512342
135123452
13512432
13512452
13512542
135125432
135142
1351423452
1351425432
1351432
1351432452
1351432542
1351452
1351452342
1351452432
1352
1352142
13521432
13521542
135215432
13523412
1352341542
1352342
135234512
1352345142
1352412
1352415432
1352432
13524512
1352451432
135412
135412342
135412432
1354152
1354152342
1354152432
13542
135421432
13542152
135423412
1354234152
13542512
1354251432
135432
135432142
135432152
135432412
1354324152
135432512
1354325142
142
142132
14213452
142134532
1421352
142135432
142152
1421532
142153452
14215432
142154352
142312
1423152
1423153452
1423154352
14234512
1423451352
1423452
142345312
1423453152
1423512
1423513452
142352
142354312
1423543152
142512
1425132
1425134532
1425135432
1425312
1425315432
142532
142534512
1425345132
14254312
1425431532
1425432
142543512
1425435132
14312
14312352
143123542
14312452
143124532
14312532
14312542
143152
1431523542
1431524532
1431532
1431532452
1431532542
1431542
1431542352
1431542532
1432
14321352
143213542
1432152
14321542
14324512
1432451352
1432452
143245312
1432453152
1432512
1432513542
14325312
1432531542
1432542
143512
143512452
143512542
1435132
1435132452
1435132542
14352
14352132
143521542
14352312
1435231542
143524512
1435245132
143542
143542132
143542152
143542312
1435423152
143542512
1435425132
14512
14512342
14512352
14512432
145124352
14512532
145125342
145132
1451324352
1451325342
1451342
1451342352
1451342532
1451352
1451352342
1451352432
1452
1452132
14521342
14521532
145215342
1452312
1452315342
1452342
14523512
1452351342
14524312
1452431532
1452432
145243512
1452435132
145312
145312342
145312432
1453152
1453152342
1453152432
14532
145321342
14532152
145324312
1453243152
14532512
1453251342
145342
145342132
145342152
145342312
1453423152
145342512
1453425132
152
152132
1521342
152134532
15213542
152135432
152142
1521432
152143542
15214532
152145342
152312
1523142
1523143542
1523145342
1523412
1523413542
152342
152345312
1523453142
15235412
1523541342
1523542
152354312
1523543142
152412
1524132
1524134532
1524135432
1524312
1524314532
152432
152435412
1524354132
15245312
1524531432
1524532
152453412
1524534132
15312
15312342
153123452
15312432
15312452
15312542
153125432
153142
1531423452
1531425432
1531432
1531432452
1531432542
1531452
1531452342
1531452432
1532
15321342
153213452
1532142
15321452
1532412
1532413452
15324312
1532431452
1532452
15325412
1532541342
1532542
153254312
1532543142
153412
153412452
153412542
1534132
1534132452
1534132542
15342
15342132
153421452
15342312
1534231452
153425412
1534254132
153452
153452132
153452142
153452312
1534523142
153452412
1534524132
15412
15412342
15412352
15412432
154124352
15412532
154125342
154132
1541324352
1541325342
1541342
1541342352
1541342532
1541352
1541352342
1541352432
1542
1542132
15421352
15421432
154214352
1542312
1542314352
15423412
1542341352
1542352
15425312
1542531432
1542532
154253412
1542534132
154312
154312352
154312532
1543142
1543142352
1543142532
15432
154321352
15432142
15432412
1543241352
154325312
1543253142
154352
154352132
154352142
154352312
1543523142
154352412
1543524132
514