PKU 1942 Paths on a Grid

  • パスカルの三角形を書いたところ、REとなってしまった
  • 入力が符号なし32ビット整数なのでintに入れたときに負の数になってしまったのだろう
  • コンビネーションの式に変形して通した
public class Main {
	public static void main(String[] args) {
		final Scanner scanner = new Scanner(System.in);
		while (true) {
			long n = scanner.nextLong();
			long m = scanner.nextLong();
			if (n == 0 && m == 0) {
				break;
			}

			n += m;

			if (n < m * 2) {
				m = n - m;
			}

			long answer = 1;
			for (int i = 0; i < m; ++i) {
				answer *= n - i;
				answer /= i + 1;
			}

			System.out.println(answer);
		}
	}
}