Loading...
Submission
# When Author Problem Language CPU Memory
20830 2024-06-09 09:11:08 AHAMMED_99 Travelling Squirrel Problem C 0 ms 1520 kb Wrong Answer - 1
Test Cases
# CPU Memory Points
1 0 ms 1520 kb 0 Wrong Answer
2 0 ms 0 kb 0 Skipped
3 0 ms 0 kb 0 Skipped
4 0 ms 0 kb 0 Skipped
5 0 ms 0 kb 0 Skipped
6 0 ms 0 kb 0 Skipped
7 0 ms 0 kb 0 Skipped
8 0 ms 0 kb 0 Skipped
9 0 ms 0 kb 0 Skipped
10 0 ms 0 kb 0 Skipped
11 0 ms 0 kb 0 Skipped
12 0 ms 0 kb 0 Skipped
13 0 ms 0 kb 0 Skipped
14 0 ms 0 kb 0 Skipped
Source Code
  1. #include <stdio.h>
  2.  
  3. int min(int a, int b) {
  4. return a < b ? a : b;
  5. }
  6.  
  7. int max(int a, int b) {
  8. return a > b ? a : b;
  9. }
  10.  
  11. int collect_max_nuts(int n, int forest[n][n]) {
  12. int max_nuts = 0;
  13.  
  14. for (int i = 0; i < n; i++) {
  15. for (int j = 0; j < n; j++) {
  16. int max_dist = min(i, n - 1 - i) + min(j, n - 1 - j); // Manhattan distance to forest boundary
  17. int nuts = forest[i][j];
  18.  
  19. for (int x = 0; x < n; x++) {
  20. for (int y = 0; y < n; y++) {
  21. int dist = abs(i - x) + abs(j - y);
  22. if (dist <= max_dist) {
  23. nuts += forest[x][y];
  24. }
  25. }
  26. }
  27.  
  28. max_nuts = max(max_nuts, nuts);
  29. }
  30. }
  31.  
  32. return max_nuts;
  33. }
  34.  
  35. int main() {
  36. int n;
  37. scanf("%d", &n);
  38. int forest[n][n];
  39.  
  40. // Read input
  41. for (int i = 0; i < n; i++) {
  42. for (int j = 0; j < n; j++) {
  43. scanf("%d", &forest[i][j]);
  44. }
  45. }
  46.  
  47. // Find the maximum number of nuts the squirrel can collect
  48. int max_nuts = collect_max_nuts(n, forest);
  49. printf("%d\n", max_nuts);
  50.  
  51. return 0;
  52. }
  53.