NYOJ 491ラッキー三角形

1382 ワード

ラッキー三角形
 
import java.util.Scanner;

public class  Main{// 

	static int sum=0,n;

	public static void main(String[] args) {

		Scanner input=new Scanner(System.in);

		while(input.hasNext()){

			n=input.nextInt();

			sum=0;

			char a[]=new char[n];

			sou(a,0);

			System.out.println(sum);

		}

	}

	private static void sou(char[] a, int i) {

		if(i==n){

			char b[]=a;

			int x=0,y=0;

			for(int j=0;j<n;j++){

				if(b[j]=='+')

					x++;

				else

					y++;

			}

			for(int j=n-1;j>0;j--){

				for(int k=0;k<j;k++){

					if(b[k]==b[k+1]){

						b[k]='+';

						x++;

					}

					else{

						b[k]='-';

						y++;

					}

				}

			}

			if(x==y)

				sum++;

			return;

		}

		a[i]='+';

		sou(a,i+1);

		a[i]='-';

		sou(a,i+1);

	}

}







/*

//495114     Accepted  21MS  246 java 2013-07-07 19:02:25 

import java.util.Scanner;

public class Main{// 

	public static void main(String[] args) {

		Scanner input=new Scanner(System.in);

		int a[]=new int[20];

		a[3]=4;a[4]=6;a[7]=12;a[8]=40;a[11]=171;a[12]=410;a[15]=1896;a[16]=5160;a[19]=32757;

		while(input.hasNext()){

			int n=input.nextInt();

			System.out.println(a[n]);

		}

	}

}*/