P2089 烤鸡(DFS)

import java.util.Scanner;

public class P2089 {
	static int n,count=0;
	static boolean[] flag = new boolean[4];
	static int[] a = new int[11];
	static StringBuilder sb = new StringBuilder();
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		dfs(1);
		System.out.println(count);
		System.out.println(sb);
	}
	
	private static void dfs(int pos) {
		if(pos==11 ) {
			if(a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10]==n) {
				count++;
				sb.append(a[1]+" "+a[2]+" "+a[3]+" "+a[4]+" "+a[5]+" "+a[6]+" "+a[7]+" "+a[8]+" "+a[9]+" "+a[10]);
				sb.append("\n");
				return;
			}else {
				return ;
			}
		}
		for(int i=1;i<=3;i++) {
				a[pos]=i;
				dfs(pos+1);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_28635317/article/details/114684744