Skip to content

Instantly share code, notes, and snippets.

@krisys
krisys / Johnson_trotter.cpp
Created April 28, 2011 18:49
Permutations (Johnson Trotter)
#include<iostream>
#include<string>
#include<vector>
#define SIZE 4
#define debug(x) cout<< #x << " = "<< x <<endl
#define swap(typ,A,B) { typ temp;temp=B; B=A;A=temp;}
using namespace std;
vector <int> permset;
string flags;
@krisys
krisys / permutation-minimal_change.cpp
Created April 28, 2011 17:50
Permutation (Minimal Change)
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int n;
char c;
vector < string > next, current;
@krisys
krisys / permutation-recursive.cpp
Last active September 25, 2015 15:58
Permutation (Recursive)
#include<iostream>
#include<string>
using namespace std;
string deleteKthCharacter(string str, int k){
return str.erase(k, 1);
}
void permute( string dest, string source, int len){
if( dest.length() == len){
@krisys
krisys / sudoku.cpp
Created April 28, 2011 16:49
Sudoku Solver
#include<iostream>
using namespace std;
int sudoku[9][9],ptr[162],xstart[9]={0,3,6,0,3,6,0,3,6}, ystart[9]={0,0,0,3,3,3,6,6,6};
int valid(){
int valid=1;
int hashtable[10];
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
for(int k=j+1;k<9;k++){
if(sudoku[i][j]==0) continue;