2013年8月30日

UVa 10128 - Queue

#include <cstdio>

int main() {
  int dp[19][19][19] = {};
  dp[1][1][1] = 1;
  for (int n = 2; n <= 13; n++) {
    for (int l = 1; l <= 13; l++) {
      for (int r = 1; r <= 13; r++) {
        dp[n][l][r] = dp[n - 1][l][r] * (n - 2) + dp[n - 1][l - 1][r] + dp[n - 1][l][r - 1];
      }
    }
  }
  int T;
  scanf("%d", &T);
  while (T--) {
    int n, l, r;
    scanf("%d%d%d", &n, &l, &r);
    printf("%d\n", dp[n][l][r]);
  }
  return 0;
}

沒有留言:

張貼留言