All pastes #507569 Raw Edit

Miscellany

public java v1 · immutable
·published 2007-05-24 17:12 UTC
rendered paste body
import java.io.*;import java.util.*;class Main{	public static void main(String ar[])throws Exception	{		int size;		BufferedReader in=new BufferedReader(new InputStreamReader(System.in));		size=Integer.parseInt(in.readLine());				int max=-1;		int[][] goodPermutations=new int[2*size][size];		int[] total=new int[1];		total[0]=0;		int[] per=new int[size];		for(int i=0;i<size;i++)			per[i]=-1;		for(int i=size+1;i>1;i--)		{			if(i%(size)==0)				goodPermutate(size,i,size-1,per,total,goodPermutations);			else if(i<size)				break;		}				System.out.println(total[0]);//		for(int i=0;i<total[0];i++)//		{//			for(int j=0;j<size;j++)//				System.out.print(goodPermutations[i][j]+" ");//				//			System.out.println();//		}			}		public static void goodPermutate(int size,int cur,int curLen,int[] per,int[] total,int[][] gp)	{		int flag=0;		for(int i=curLen+1;i<size;i++)		{			if(per[i]==cur)				flag=1;		}		if(flag==0)		{			per[curLen]=cur;			if(curLen==0)			{				for(int i=0;i<size;i++)					gp[total[0]][i]=per[i];								total[0]++;					//System.out.print(per[i]+" ");									//System.out.println();				return;			}			for(int i=size+1;i>=curLen && i>1;i--)			{				if(i%curLen==0)					goodPermutate(size,i,curLen-1,per,total,gp);			}		}	}}