fork(2) download
  1. #include <iostream>
  2. using namespace std;
  3. int dp[11][11];
  4. int a[11];
  5. int main() {
  6. // your code goes here
  7. int t;
  8. int n,m,s;
  9. scanf("%d",&t);
  10. while(t--){
  11. scanf("%d%d%d",&n,&m,&s);
  12. for(int i=0;i<m;i++)
  13. scanf("%d",&a[i]);
  14. s--;
  15. for(int j=0;j<=m;j++){
  16. for(int i=0;i<n;i++){
  17. if(j==0){
  18. dp[i][j]=i==s;
  19. }
  20. else{
  21. int result=0;
  22. for(int k=i-a[j-1];k<=i+a[j-1];k++){
  23. if(k!=i){
  24. if(k<n && k>=0)
  25. result+=dp[k][j-1];
  26. }
  27. }
  28. dp[i][j]=result;
  29. }
  30. //printf("%d ",dp[i][j]);
  31. }
  32. //printf("\n");
  33. }
  34. int sum=0;
  35. for(int i=0;i<n;i++){
  36. sum=0;
  37. for(int j=0;j<=m;j++){
  38. sum+=dp[i][j];
  39. }
  40. printf("%d ",sum);
  41. }
  42. }
  43. return 0;
  44. }
Success #stdin #stdout 0s 16064KB
stdin
1
4 2 3
1 2
stdout
1 2 3 2