fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <algorithm>
  5.  
  6. int A[15], M, N, T, t = 1;
  7. long long dp[15][15], res = 0;
  8.  
  9. int main(){
  10. scanf("%d", &T);
  11. while(T--){
  12. scanf("%d %d", &M, &N);
  13. for(int i=1; i<=M; ++i) scanf("%d", &A[i]);
  14. memset(dp, 0, sizeof(dp));
  15. for(int i=1; i<=M; ++i) dp[1][A[i]] = 1;
  16. for(int i=2; i<=N; ++i)
  17. for(int j=1; j<=M; ++j)
  18. for(int k=1; k<=M; ++k) if(abs(A[j] - A[k]) <= 2) dp[i][A[j]] += dp[i - 1][A[k]];
  19. for(int i=1; i<=9; ++i) res += dp[N][i];
  20. printf("Case %d: %lld\n", t++, res);
  21. res = 0;
  22. }
  23. return 0;
  24. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Standard output is empty