#include <stdio.h> #define N 6 #define NF (1*2*3*4*5*6) int p[NF][N]; int main( int argc, char* args[] ){ int n, i, k, iCol, iRow; int row = 0; for( n = 0; n < N; n++ ){ if( n == 0 ){ p[row][n] = n+1; row++; } else { // add new value n+1 to all existing rows for( i = 0; i < row; i++ ){ p[i][n] = n+1; } // for all numbers 1..n int nextRow = row; for( k = 1; k <= n; k++ ){ // pass through all rows so far for( iRow = 0; iRow < row; iRow++ ){ // copy row for( iCol = 0; iCol < n; iCol++ ){ int h = p[iRow][iCol]; p[nextRow][iCol] = h == k ? n+1 : h; } p[nextRow][n] = k; nextRow++; } } row = nextRow; } } for( iRow = 0; iRow < NF; iRow++ ){ for( iCol = 0; iCol < N; iCol++ ){ } } return 0; }
Standard input is empty
1 2 3 4 5 6 2 1 3 4 5 6 3 2 1 4 5 6 2 3 1 4 5 6 1 3 2 4 5 6 3 1 2 4 5 6 4 2 3 1 5 6 2 4 3 1 5 6 3 2 4 1 5 6 2 3 4 1 5 6 4 3 2 1 5 6 3 4 2 1 5 6 1 4 3 2 5 6 4 1 3 2 5 6 3 4 1 2 5 6 4 3 1 2 5 6 1 3 4 2 5 6 3 1 4 2 5 6 1 2 4 3 5 6 2 1 4 3 5 6 4 2 1 3 5 6 2 4 1 3 5 6 1 4 2 3 5 6 4 1 2 3 5 6 5 2 3 4 1 6 2 5 3 4 1 6 3 2 5 4 1 6 2 3 5 4 1 6 5 3 2 4 1 6 3 5 2 4 1 6 4 2 3 5 1 6 2 4 3 5 1 6 3 2 4 5 1 6 2 3 4 5 1 6 4 3 2 5 1 6 3 4 2 5 1 6 5 4 3 2 1 6 4 5 3 2 1 6 3 4 5 2 1 6 4 3 5 2 1 6 5 3 4 2 1 6 3 5 4 2 1 6 5 2 4 3 1 6 2 5 4 3 1 6 4 2 5 3 1 6 2 4 5 3 1 6 5 4 2 3 1 6 4 5 2 3 1 6 1 5 3 4 2 6 5 1 3 4 2 6 3 5 1 4 2 6 5 3 1 4 2 6 1 3 5 4 2 6 3 1 5 4 2 6 4 5 3 1 2 6 5 4 3 1 2 6 3 5 4 1 2 6 5 3 4 1 2 6 4 3 5 1 2 6 3 4 5 1 2 6 1 4 3 5 2 6 4 1 3 5 2 6 3 4 1 5 2 6 4 3 1 5 2 6 1 3 4 5 2 6 3 1 4 5 2 6 1 5 4 3 2 6 5 1 4 3 2 6 4 5 1 3 2 6 5 4 1 3 2 6 1 4 5 3 2 6 4 1 5 3 2 6 1 2 5 4 3 6 2 1 5 4 3 6 5 2 1 4 3 6 2 5 1 4 3 6 1 5 2 4 3 6 5 1 2 4 3 6 4 2 5 1 3 6 2 4 5 1 3 6 5 2 4 1 3 6 2 5 4 1 3 6 4 5 2 1 3 6 5 4 2 1 3 6 1 4 5 2 3 6 4 1 5 2 3 6 5 4 1 2 3 6 4 5 1 2 3 6 1 5 4 2 3 6 5 1 4 2 3 6 1 2 4 5 3 6 2 1 4 5 3 6 4 2 1 5 3 6 2 4 1 5 3 6 1 4 2 5 3 6 4 1 2 5 3 6 1 2 3 5 4 6 2 1 3 5 4 6 3 2 1 5 4 6 2 3 1 5 4 6 1 3 2 5 4 6 3 1 2 5 4 6 5 2 3 1 4 6 2 5 3 1 4 6 3 2 5 1 4 6 2 3 5 1 4 6 5 3 2 1 4 6 3 5 2 1 4 6 1 5 3 2 4 6 5 1 3 2 4 6 3 5 1 2 4 6 5 3 1 2 4 6 1 3 5 2 4 6 3 1 5 2 4 6 1 2 5 3 4 6 2 1 5 3 4 6 5 2 1 3 4 6 2 5 1 3 4 6 1 5 2 3 4 6 5 1 2 3 4 6 6 2 3 4 5 1 2 6 3 4 5 1 3 2 6 4 5 1 2 3 6 4 5 1 6 3 2 4 5 1 3 6 2 4 5 1 4 2 3 6 5 1 2 4 3 6 5 1 3 2 4 6 5 1 2 3 4 6 5 1 4 3 2 6 5 1 3 4 2 6 5 1 6 4 3 2 5 1 4 6 3 2 5 1 3 4 6 2 5 1 4 3 6 2 5 1 6 3 4 2 5 1 3 6 4 2 5 1 6 2 4 3 5 1 2 6 4 3 5 1 4 2 6 3 5 1 2 4 6 3 5 1 6 4 2 3 5 1 4 6 2 3 5 1 5 2 3 4 6 1 2 5 3 4 6 1 3 2 5 4 6 1 2 3 5 4 6 1 5 3 2 4 6 1 3 5 2 4 6 1 4 2 3 5 6 1 2 4 3 5 6 1 3 2 4 5 6 1 2 3 4 5 6 1 4 3 2 5 6 1 3 4 2 5 6 1 5 4 3 2 6 1 4 5 3 2 6 1 3 4 5 2 6 1 4 3 5 2 6 1 5 3 4 2 6 1 3 5 4 2 6 1 5 2 4 3 6 1 2 5 4 3 6 1 4 2 5 3 6 1 2 4 5 3 6 1 5 4 2 3 6 1 4 5 2 3 6 1 6 5 3 4 2 1 5 6 3 4 2 1 3 5 6 4 2 1 5 3 6 4 2 1 6 3 5 4 2 1 3 6 5 4 2 1 4 5 3 6 2 1 5 4 3 6 2 1 3 5 4 6 2 1 5 3 4 6 2 1 4 3 5 6 2 1 3 4 5 6 2 1 6 4 3 5 2 1 4 6 3 5 2 1 3 4 6 5 2 1 4 3 6 5 2 1 6 3 4 5 2 1 3 6 4 5 2 1 6 5 4 3 2 1 5 6 4 3 2 1 4 5 6 3 2 1 5 4 6 3 2 1 6 4 5 3 2 1 4 6 5 3 2 1 6 2 5 4 3 1 2 6 5 4 3 1 5 2 6 4 3 1 2 5 6 4 3 1 6 5 2 4 3 1 5 6 2 4 3 1 4 2 5 6 3 1 2 4 5 6 3 1 5 2 4 6 3 1 2 5 4 6 3 1 4 5 2 6 3 1 5 4 2 6 3 1 6 4 5 2 3 1 4 6 5 2 3 1 5 4 6 2 3 1 4 5 6 2 3 1 6 5 4 2 3 1 5 6 4 2 3 1 6 2 4 5 3 1 2 6 4 5 3 1 4 2 6 5 3 1 2 4 6 5 3 1 6 4 2 5 3 1 4 6 2 5 3 1 6 2 3 5 4 1 2 6 3 5 4 1 3 2 6 5 4 1 2 3 6 5 4 1 6 3 2 5 4 1 3 6 2 5 4 1 5 2 3 6 4 1 2 5 3 6 4 1 3 2 5 6 4 1 2 3 5 6 4 1 5 3 2 6 4 1 3 5 2 6 4 1 6 5 3 2 4 1 5 6 3 2 4 1 3 5 6 2 4 1 5 3 6 2 4 1 6 3 5 2 4 1 3 6 5 2 4 1 6 2 5 3 4 1 2 6 5 3 4 1 5 2 6 3 4 1 2 5 6 3 4 1 6 5 2 3 4 1 5 6 2 3 4 1 1 6 3 4 5 2 6 1 3 4 5 2 3 6 1 4 5 2 6 3 1 4 5 2 1 3 6 4 5 2 3 1 6 4 5 2 4 6 3 1 5 2 6 4 3 1 5 2 3 6 4 1 5 2 6 3 4 1 5 2 4 3 6 1 5 2 3 4 6 1 5 2 1 4 3 6 5 2 4 1 3 6 5 2 3 4 1 6 5 2 4 3 1 6 5 2 1 3 4 6 5 2 3 1 4 6 5 2 1 6 4 3 5 2 6 1 4 3 5 2 4 6 1 3 5 2 6 4 1 3 5 2 1 4 6 3 5 2 4 1 6 3 5 2 5 6 3 4 1 2 6 5 3 4 1 2 3 6 5 4 1 2 6 3 5 4 1 2 5 3 6 4 1 2 3 5 6 4 1 2 4 6 3 5 1 2 6 4 3 5 1 2 3 6 4 5 1 2 6 3 4 5 1 2 4 3 6 5 1 2 3 4 6 5 1 2 5 4 3 6 1 2 4 5 3 6 1 2 3 4 5 6 1 2 4 3 5 6 1 2 5 3 4 6 1 2 3 5 4 6 1 2 5 6 4 3 1 2 6 5 4 3 1 2 4 6 5 3 1 2 6 4 5 3 1 2 5 4 6 3 1 2 4 5 6 3 1 2 1 5 3 4 6 2 5 1 3 4 6 2 3 5 1 4 6 2 5 3 1 4 6 2 1 3 5 4 6 2 3 1 5 4 6 2 4 5 3 1 6 2 5 4 3 1 6 2 3 5 4 1 6 2 5 3 4 1 6 2 4 3 5 1 6 2 3 4 5 1 6 2 1 4 3 5 6 2 4 1 3 5 6 2 3 4 1 5 6 2 4 3 1 5 6 2 1 3 4 5 6 2 3 1 4 5 6 2 1 5 4 3 6 2 5 1 4 3 6 2 4 5 1 3 6 2 5 4 1 3 6 2 1 4 5 3 6 2 4 1 5 3 6 2 1 6 5 4 3 2 6 1 5 4 3 2 5 6 1 4 3 2 6 5 1 4 3 2 1 5 6 4 3 2 5 1 6 4 3 2 4 6 5 1 3 2 6 4 5 1 3 2 5 6 4 1 3 2 6 5 4 1 3 2 4 5 6 1 3 2 5 4 6 1 3 2 1 4 5 6 3 2 4 1 5 6 3 2 5 4 1 6 3 2 4 5 1 6 3 2 1 5 4 6 3 2 5 1 4 6 3 2 1 6 4 5 3 2 6 1 4 5 3 2 4 6 1 5 3 2 6 4 1 5 3 2 1 4 6 5 3 2 4 1 6 5 3 2 1 6 3 5 4 2 6 1 3 5 4 2 3 6 1 5 4 2 6 3 1 5 4 2 1 3 6 5 4 2 3 1 6 5 4 2 5 6 3 1 4 2 6 5 3 1 4 2 3 6 5 1 4 2 6 3 5 1 4 2 5 3 6 1 4 2 3 5 6 1 4 2 1 5 3 6 4 2 5 1 3 6 4 2 3 5 1 6 4 2 5 3 1 6 4 2 1 3 5 6 4 2 3 1 5 6 4 2 1 6 5 3 4 2 6 1 5 3 4 2 5 6 1 3 4 2 6 5 1 3 4 2 1 5 6 3 4 2 5 1 6 3 4 2 1 2 6 4 5 3 2 1 6 4 5 3 6 2 1 4 5 3 2 6 1 4 5 3 1 6 2 4 5 3 6 1 2 4 5 3 4 2 6 1 5 3 2 4 6 1 5 3 6 2 4 1 5 3 2 6 4 1 5 3 4 6 2 1 5 3 6 4 2 1 5 3 1 4 6 2 5 3 4 1 6 2 5 3 6 4 1 2 5 3 4 6 1 2 5 3 1 6 4 2 5 3 6 1 4 2 5 3 1 2 4 6 5 3 2 1 4 6 5 3 4 2 1 6 5 3 2 4 1 6 5 3 1 4 2 6 5 3 4 1 2 6 5 3 5 2 6 4 1 3 2 5 6 4 1 3 6 2 5 4 1 3 2 6 5 4 1 3 5 6 2 4 1 3 6 5 2 4 1 3 4 2 6 5 1 3 2 4 6 5 1 3 6 2 4 5 1 3 2 6 4 5 1 3 4 6 2 5 1 3 6 4 2 5 1 3 5 4 6 2 1 3 4 5 6 2 1 3 6 4 5 2 1 3 4 6 5 2 1 3 5 6 4 2 1 3 6 5 4 2 1 3 5 2 4 6 1 3 2 5 4 6 1 3 4 2 5 6 1 3 2 4 5 6 1 3 5 4 2 6 1 3 4 5 2 6 1 3 1 5 6 4 2 3 5 1 6 4 2 3 6 5 1 4 2 3 5 6 1 4 2 3 1 6 5 4 2 3 6 1 5 4 2 3 4 5 6 1 2 3 5 4 6 1 2 3 6 5 4 1 2 3 5 6 4 1 2 3 4 6 5 1 2 3 6 4 5 1 2 3 1 4 6 5 2 3 4 1 6 5 2 3 6 4 1 5 2 3 4 6 1 5 2 3 1 6 4 5 2 3 6 1 4 5 2 3 1 5 4 6 2 3 5 1 4 6 2 3 4 5 1 6 2 3 5 4 1 6 2 3 1 4 5 6 2 3 4 1 5 6 2 3 1 2 5 4 6 3 2 1 5 4 6 3 5 2 1 4 6 3 2 5 1 4 6 3 1 5 2 4 6 3 5 1 2 4 6 3 4 2 5 1 6 3 2 4 5 1 6 3 5 2 4 1 6 3 2 5 4 1 6 3 4 5 2 1 6 3 5 4 2 1 6 3 1 4 5 2 6 3 4 1 5 2 6 3 5 4 1 2 6 3 4 5 1 2 6 3 1 5 4 2 6 3 5 1 4 2 6 3 1 2 4 5 6 3 2 1 4 5 6 3 4 2 1 5 6 3 2 4 1 5 6 3 1 4 2 5 6 3 4 1 2 5 6 3 1 2 6 5 4 3 2 1 6 5 4 3 6 2 1 5 4 3 2 6 1 5 4 3 1 6 2 5 4 3 6 1 2 5 4 3 5 2 6 1 4 3 2 5 6 1 4 3 6 2 5 1 4 3 2 6 5 1 4 3 5 6 2 1 4 3 6 5 2 1 4 3 1 5 6 2 4 3 5 1 6 2 4 3 6 5 1 2 4 3 5 6 1 2 4 3 1 6 5 2 4 3 6 1 5 2 4 3 1 2 5 6 4 3 2 1 5 6 4 3 5 2 1 6 4 3 2 5 1 6 4 3 1 5 2 6 4 3 5 1 2 6 4 3 1 2 3 6 5 4 2 1 3 6 5 4 3 2 1 6 5 4 2 3 1 6 5 4 1 3 2 6 5 4 3 1 2 6 5 4 6 2 3 1 5 4 2 6 3 1 5 4 3 2 6 1 5 4 2 3 6 1 5 4 6 3 2 1 5 4 3 6 2 1 5 4 1 6 3 2 5 4 6 1 3 2 5 4 3 6 1 2 5 4 6 3 1 2 5 4 1 3 6 2 5 4 3 1 6 2 5 4 1 2 6 3 5 4 2 1 6 3 5 4 6 2 1 3 5 4 2 6 1 3 5 4 1 6 2 3 5 4 6 1 2 3 5 4 5 2 3 6 1 4 2 5 3 6 1 4 3 2 5 6 1 4 2 3 5 6 1 4 5 3 2 6 1 4 3 5 2 6 1 4 6 2 3 5 1 4 2 6 3 5 1 4 3 2 6 5 1 4 2 3 6 5 1 4 6 3 2 5 1 4 3 6 2 5 1 4 5 6 3 2 1 4 6 5 3 2 1 4 3 6 5 2 1 4 6 3 5 2 1 4 5 3 6 2 1 4 3 5 6 2 1 4 5 2 6 3 1 4 2 5 6 3 1 4 6 2 5 3 1 4 2 6 5 3 1 4 5 6 2 3 1 4 6 5 2 3 1 4 1 5 3 6 2 4 5 1 3 6 2 4 3 5 1 6 2 4 5 3 1 6 2 4 1 3 5 6 2 4 3 1 5 6 2 4 6 5 3 1 2 4 5 6 3 1 2 4 3 5 6 1 2 4 5 3 6 1 2 4 6 3 5 1 2 4 3 6 5 1 2 4 1 6 3 5 2 4 6 1 3 5 2 4 3 6 1 5 2 4 6 3 1 5 2 4 1 3 6 5 2 4 3 1 6 5 2 4 1 5 6 3 2 4 5 1 6 3 2 4 6 5 1 3 2 4 5 6 1 3 2 4 1 6 5 3 2 4 6 1 5 3 2 4 1 2 5 6 3 4 2 1 5 6 3 4 5 2 1 6 3 4 2 5 1 6 3 4 1 5 2 6 3 4 5 1 2 6 3 4 6 2 5 1 3 4 2 6 5 1 3 4 5 2 6 1 3 4 2 5 6 1 3 4 6 5 2 1 3 4 5 6 2 1 3 4 1 6 5 2 3 4 6 1 5 2 3 4 5 6 1 2 3 4 6 5 1 2 3 4 1 5 6 2 3 4 5 1 6 2 3 4 1 2 6 5 3 4 2 1 6 5 3 4 6 2 1 5 3 4 2 6 1 5 3 4 1 6 2 5 3 4 6 1 2 5 3 4 1 2 3 5 6 4 2 1 3 5 6 4 3 2 1 5 6 4 2 3 1 5 6 4 1 3 2 5 6 4 3 1 2 5 6 4 5 2 3 1 6 4 2 5 3 1 6 4 3 2 5 1 6 4 2 3 5 1 6 4 5 3 2 1 6 4 3 5 2 1 6 4 1 5 3 2 6 4 5 1 3 2 6 4 3 5 1 2 6 4 5 3 1 2 6 4 1 3 5 2 6 4 3 1 5 2 6 4 1 2 5 3 6 4 2 1 5 3 6 4 5 2 1 3 6 4 2 5 1 3 6 4 1 5 2 3 6 4 5 1 2 3 6 4 1 2 3 4 6 5 2 1 3 4 6 5 3 2 1 4 6 5 2 3 1 4 6 5 1 3 2 4 6 5 3 1 2 4 6 5 4 2 3 1 6 5 2 4 3 1 6 5 3 2 4 1 6 5 2 3 4 1 6 5 4 3 2 1 6 5 3 4 2 1 6 5 1 4 3 2 6 5 4 1 3 2 6 5 3 4 1 2 6 5 4 3 1 2 6 5 1 3 4 2 6 5 3 1 4 2 6 5 1 2 4 3 6 5 2 1 4 3 6 5 4 2 1 3 6 5 2 4 1 3 6 5 1 4 2 3 6 5 4 1 2 3 6 5 6 2 3 4 1 5 2 6 3 4 1 5 3 2 6 4 1 5 2 3 6 4 1 5 6 3 2 4 1 5 3 6 2 4 1 5 4 2 3 6 1 5 2 4 3 6 1 5 3 2 4 6 1 5 2 3 4 6 1 5 4 3 2 6 1 5 3 4 2 6 1 5 6 4 3 2 1 5 4 6 3 2 1 5 3 4 6 2 1 5 4 3 6 2 1 5 6 3 4 2 1 5 3 6 4 2 1 5 6 2 4 3 1 5 2 6 4 3 1 5 4 2 6 3 1 5 2 4 6 3 1 5 6 4 2 3 1 5 4 6 2 3 1 5 1 6 3 4 2 5 6 1 3 4 2 5 3 6 1 4 2 5 6 3 1 4 2 5 1 3 6 4 2 5 3 1 6 4 2 5 4 6 3 1 2 5 6 4 3 1 2 5 3 6 4 1 2 5 6 3 4 1 2 5 4 3 6 1 2 5 3 4 6 1 2 5 1 4 3 6 2 5 4 1 3 6 2 5 3 4 1 6 2 5 4 3 1 6 2 5 1 3 4 6 2 5 3 1 4 6 2 5 1 6 4 3 2 5 6 1 4 3 2 5 4 6 1 3 2 5 6 4 1 3 2 5 1 4 6 3 2 5 4 1 6 3 2 5 1 2 6 4 3 5 2 1 6 4 3 5 6 2 1 4 3 5 2 6 1 4 3 5 1 6 2 4 3 5 6 1 2 4 3 5 4 2 6 1 3 5 2 4 6 1 3 5 6 2 4 1 3 5 2 6 4 1 3 5 4 6 2 1 3 5 6 4 2 1 3 5 1 4 6 2 3 5 4 1 6 2 3 5 6 4 1 2 3 5 4 6 1 2 3 5 1 6 4 2 3 5 6 1 4 2 3 5 1 2 4 6 3 5 2 1 4 6 3 5 4 2 1 6 3 5 2 4 1 6 3 5 1 4 2 6 3 5 4 1 2 6 3 5 1 2 3 6 4 5 2 1 3 6 4 5 3 2 1 6 4 5 2 3 1 6 4 5 1 3 2 6 4 5 3 1 2 6 4 5 6 2 3 1 4 5 2 6 3 1 4 5 3 2 6 1 4 5 2 3 6 1 4 5 6 3 2 1 4 5 3 6 2 1 4 5 1 6 3 2 4 5 6 1 3 2 4 5 3 6 1 2 4 5 6 3 1 2 4 5 1 3 6 2 4 5 3 1 6 2 4 5 1 2 6 3 4 5 2 1 6 3 4 5 6 2 1 3 4 5 2 6 1 3 4 5 1 6 2 3 4 5 6 1 2 3 4 5