pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; }

深さ優先探索

以下のサイトの初めの方の問題を実装しました
URL: https://www.slideshare.net/chokudai/wap-atcoder2

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		int n = sc.nextInt();
		int ans = dfs(m, n);
		System.out.println(ans);
	}

	// m 個のりんごを n 人で分ける方法は何通りあるか
	public static int dfs(int m, int n) {
		if(n == 1) return 1;
		int ret = 0;
		// ret += dfs(m, n - 1) + dfs(m - 1, n - 1) + ... + dfs(0, n - 1)
		for(int i = 0 ; i <= m ; i++) ret += dfs(m - i, n - 1);
		return ret;
	}
}