void funcLSX(unsigned char* a, unsigned char* b, unsigned char* outdata) { unsigned char temp1[16] = {0}; unsigned char temp2[16] = {0}; funcX(a, b, temp1); funcS(temp1, temp2); funcL(temp2, outdata); }
/** * En ganska standard rekursiv funktion, alla möjliga sätt att lösa det på testas. * När strängen blir abcde eller ABCDE har en lösning hittats och sedan kollas om det är bästa lösningen. **/ int robocop(char s[5],int nrofmoves) { char str[6]; strcpy(str,s); if(strcmp(str,"abcde") == 0 || strcmp(str,"ABCDE") == 0) { if(best > nrofmoves) { printf("%s nr: %d\n",str,nrofmoves); best = nrofmoves; limit = best; return 0; } } if(nrofmoves < limit) { robocop(funcB(str),nrofmoves+1); robocop(funcS(str),nrofmoves+1); } return 0; }