2013年5月17日

UVa 10910 - Marks Distribution


#include <stdio.h>

int main() {
  int i, j, k;
  long long dp[99][99] = {1};
  for (i = 1; i <= 70; i++)
    for (j = 0; j <= 70; j++)
      for (k = j; k >= 0; k--)
        dp[i][j] += dp[i - 1][j - k];
  int n, t, p, C;
  scanf("%d", &C);
  while (C--) {
    scanf("%d%d%d", &n, &t, &p);
    t -= n * p;
    printf("%lld\n", t >= 0 ? dp[n][t] : 0);
  }
  return 0;
}

沒有留言:

張貼留言